Meine Array wie folgt aussehen:PHP Array-Schlüssel neu anordnen
array(
0 => 'val',
2 => 'val',
3 => 'val',
5 => 'val',
7 => 'val'
);
Wie kann ich den Schlüssel neu anordnen, so dass es wie 0, 1, 2, 3, 4
gehen?
Meine Array wie folgt aussehen:PHP Array-Schlüssel neu anordnen
array(
0 => 'val',
2 => 'val',
3 => 'val',
5 => 'val',
7 => 'val'
);
Wie kann ich den Schlüssel neu anordnen, so dass es wie 0, 1, 2, 3, 4
gehen?
Verwendung array_values:
$reindexed_array = array_values($old_array);
Durch die Verwendung von sort($array);
Siehe PHP Dokumentation here.
Ich würde sort
über array_values
empfehlen, da es kein zweites Array erstellen wird. Mit dem folgenden Code haben Sie nun zwei Arrays, die Platz belegen: $ reindexed_array und $ old_array. Nicht notwendig.
$reindexed_array = array_values($old_array);
Wie lautet meine Antwort falsch? sort wird das Array umschlüsseln und sortieren, wie er gefragt hat. – Rawkode
scheint auch den Job zu erledigen – fxuser
@Rawkode Warum erstellt Array_Values ein anderes Array, wenn ich array_values () das aktuelle Array? es scheint auch so zu funktionieren – fxuser
array_splice($old_array, 0, 0);
Es wird nicht Array sortiert und wird ein zweites Array
Einfach und perfekt, da es kein 2. Array erzeugt und die Reihenfolge der Werte nicht verändert ... thx! –
array_splice($jam_array, 0, count($jam_array));
Um ein Array zu sortieren mit fehlenden Zwischen Indizes nicht schaffen, mit zählen die Bestellung ich s sicherer. So 0
ist der erste Index und count($jam_array)
oder sizeof($jam_array)
geben Sie die Dezimalstelle des Arrays, nämlich letzten Index.
perfekt! scheint die Arbeit zu tun – fxuser
Array-Werte, obwohl gültig, ist nicht das, was ich empfehlen würde. Intern ruft es den Array-Konstruktor auf und gibt ein neues Array zurück. sort ist daher (marginal) schneller und kürzer zum schreiben, auch –
ich brauche kein anderes Array zu verwenden. ich einfach array_values () das aktuelle – fxuser