PHP Update numerischen Tasten in der Reihe
Aus irgendeinem Grund, wenn das entfernen von Elementen aus einem array, ich bin Links mit Schlüssel wie 0, 2, 3, 4, 6, 9 statt 0, 1, 2, 3, 4, 5. So versuche ich herauszufinden, warum, und was kann ich tun, um es zu beheben, ohne die Sortierung alles über sort()
als das Zeug in Ordnung ist. Ich will einfach nur, um re-key in einer Angelegenheit zu sprechen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
array_values()
, um die Werte des ursprünglichen Arrays und gibt Sie in einem neuen array. Das neue array enthält neue numerische Schlüssel.Sollten Sie verwenden
array_splice()
zu entfernen Elemente aus dem array, so ändert es den Schlüssel für die Weise, die Sie wollen, zur gleichen Zeit.Müssen Sie vorsichtig sein, mit
array_values()
da es wird nicht (oder zumindest vielleicht nicht), denn es kann re-order Ihre numerische Indizes. Wenn Sie den Wert mit dem index 0, nachdem der Wert am index 3, der Wert an der Indexposition 0 abgelegt wird am Ende des Arrays zurückgegebenarray_values()
, während es scheint, zuerst in dir.Da die Tasten nicht unbedingt egal, Sie können einfach laufen Ihre endgültige Ergebnis-array durch
array_values()
. Es lässt alle Werte in der Reihenfolge in der Sie schon waren, zurücksetzen aller Tasten auf die sequenzielle numerische Werte.