Angenommen, ich habe dieses assoziatives Array:PHP in-Place einen einzelnen Schlüssel in einem assoziativen Array ändern?
$fruits = array(
'red' => 'strawberry',
'blue' => 'banana',
'green' => 'apple',
);
ich den Schlüssel blue
in yellow
ändern möchten. Beachten Sie, dass ich einen Schlüssel ändern möchte, keinen Wert. Ich kann dies tun:
$fruits['yellow'] = $fruits['blue'];
unset($fruits['blue']);
Aber dies führt zu 'yellow' => 'banana'
am Ende sein des Arrays. Wenn ich die Reihenfolge des Arrays beibehalten müsste, also 'yellow' => 'banana'
ist an der gleichen Position wie zuvor 'blue' => 'banana'
, wie mache ich das?
Natürlich kann ich das gesamte Array rekonstruieren, alle Schlüssel/Wert-Paare hinzufügen und nur die yellow
statt blue
Schlüssel einfügen, aber das scheint eine ziemlich träge Art, dies zu tun.
Gibt es einen intelligenteren/effizienteren (vorzugsweise PHP-nativen) Ansatz, um dies an Ort und Stelle zu tun?
Eigentlich, was Sie haben, ist die richtige. Hier ist keine Bestellung. Das macht keinen Unterschied. Warum benötigen Sie eine spezielle Bestellung? Dann können Sie numerische Indizes verwenden, oder? –
Sie müssen zuerst verstehen, wie Arrays in PHP arbeiten .... http: //php.net/manual/en/language.types.array.php –
@PraveenKumar Wenn ich mich nicht irre, PHP Arrays sind bestellt? (auch nach @GeorgePants Link?) Wenn ich 'implode ('', $ fruits) mache, bekomme ich immer das gleiche Ergebnis, d. h." Erdbeer Bananen Apfel "' in dieser Reihenfolge. – RocketNuts