Aus irgendeinem Grund, wenn ich Elemente aus einem Array zu entfernen, bin ich mit Tasten wie 0, 2, 3, 4, 6, 9 statt 0, 1, 2, 3, 4, 5. So Ich versuche herauszufinden, warum und was ich tun kann, um es zu reparieren, ohne alles über sort()
zu sortieren, da das Dinge in Ordnung bringt. Ich möchte nur eine Frage des Sprechens wiederholen.PHP fix numerische Tasten im Array
Antwort
Verwenden Sie, um die Werte des ursprünglichen Arrays abzurufen und sie an ein neues Array zurückzugeben. Dieses neue Array enthält neue numerische Schlüssel.
$new_array = array_values($old_array);
Da die Schlüssel unbedingt spielen keine Rolle, können Sie einfach Ihre Endergebnis Array durch array_values()
laufen. Es belässt alle Werte in der Reihenfolge, in der sie bereits waren, und setzt alle Schlüssel auf sequentielle numerische Werte zurück.
Es ist tatsächlich falsch, jemand fand heraus, dass die Reihenfolge nicht die Reihenfolge der Erscheinung ist, sondern die Foreach-Reihenfolge, die konserviert wird: http://php.net/manual/fr/function.array-values.php#114941 – Sebas
Sie sollten array_splice()
verwenden, um Elemente aus Ihrem Array zu entfernen, damit es den Schlüssel so ändert, wie Sie es wünschen.
Sie müssen vorsichtig sein mit array_values()
da es nicht funktioniert (oder zumindest nicht funktioniert), weil es möglicherweise re-order your numeric indexes. Wenn Sie den Wert bei Index 0 nach dem Wert bei Index 3 hinzugefügt haben, wird der Wert bei Index 0 am Ende des von array_values()
zurückgegebenen Arrays platziert, während es in Ihrem zuerst angezeigt wird.
- 1. Sortieren Array-Tasten (numerische) zu bestimmten Reihenfolge Array (numerische)
- 2. Reset-Tasten von Array-Elementen in PHP?
- 3. PHP-Array ersetzen Zahlen mit Tasten
- 4. wie Paginierung Fix PHP
- 5. PHP Fix Bild Bytes
- 6. Zugriff Array-Element durch numerische Zeichenfolge indiziert
- 7. Array unsetting Tasten
- 8. PHP/MySQL Zeile Tasten
- 9. Listet nur numerische Dateinamen im Verzeichnis auf
- 10. Multidimensional Array-Tasten erhalten
- 11. PHP - Warnung - Nicht definierte Eigenschaft: stdClass - fix?
- 12. PHP-Array nach Wert im Array entfernen
- 13. Numerische Integration, Runge-Kutta, RK4 im Spieldesign
- 14. PHP Form mehrere Tasten
- 15. Numerische Tasten sind in Chrom gedrückt, aber nicht in Firefox?
- 16. PHP löschen Objekt im Array
- 17. PHP: asort Array von Tasten als Strings mit Sonderzeichen
- 18. Reverse-Werte-Array, während Tasten
- 19. Javascript - Merge Array auf Tasten
- 20. Foreach Array gleichen Tasten Wertzuwachs
- 21. Extract Werte von Array, um die Standard-numerische Schlüssel
- 22. PHP-Array mit numerischen Tasten als String kann nicht verwendet werden
- 23. Numahllock-Tasten im Autohotkey wiederholen
- 24. Gruppierung mehrdimensionalen Array von verschachtelten Tasten
- 25. Numerische Tastatur funktioniert nicht im WebBrowser-Steuerelement
- 26. So validieren Sie numerische Operanden im Textfeld
- 27. verschmelzen zwei Arrays, während die numerischen Tasten
- 28. nächste und vorherige Tasten mit PHP
- 29. PHP verschiebe Duplikate im rekursiven Array
- 30. Auf Schlüssel im Array prüfen php
Ich muss davon ausgehen, dass dies nicht funktioniert, wenn ein Array-Schlüssel möglicherweise assoziativ sein kann, und Sie über thouse wissen möchten. – ThorSummoner