Heim >Backend-Entwicklung >PHP-Tutorial >Wie sortiere ich mehrdimensionale Arrays nach inneren Array-Feldern in PHP?
Sortieren mehrdimensionaler Arrays nach inneren Array-Feldern in PHP
Das Sortieren mehrdimensionaler Arrays nach Feldern in den inneren Arrays kann eine häufige Aufgabe bei der Arbeit mit sein Strukturierte Daten in PHP. Dies kann nützlich sein, um Daten effizient zu organisieren und abzurufen.
Um ein mehrdimensionales Array nach einem der Felder des inneren Arrays zu sortieren, können Sie die Funktion array_multisort() in Verbindung mit array_column() verwenden. Die Funktion array_column() extrahiert eine Wertespalte aus den inneren Arrays und erstellt so ein eindimensionales Array, das dann sortiert werden kann.
Die Syntax zum Sortieren eines mehrdimensionalen Arrays nach dem „Preis“-Feld der inneren Arrays lautet wie folgt:
array_multisort(array_column($yourArray, "price"), SORT_ASC, $yourArray);
In diesem Beispiel stellt $yourArray das mehrdimensionale Array dar, das Sie sortieren möchten. Die SORT_ASC-Konstante gibt die aufsteigende Reihenfolge für die Sortierung an.
Hier ist eine detaillierte Aufschlüsselung des Codes:
Nach der Ausführung dieses Codes wird die $yourArray wird nach dem Feld „Preis“ in aufsteigender Reihenfolge sortiert. Die Schlüssel des äußeren Arrays bleiben nicht erhalten.
Hinweis: In PHP 7 und höher kann die Verwendung dieser Syntax zu Fehlern im Zusammenhang mit der Übergabe von Variablen als Referenz führen. Um dies zu vermeiden, können Sie einen zweizeiligen Ansatz verwenden:
$col = array_column($yourArray, "price"); array_multisort($col, SORT_ASC, $yourArray);
In PHP 8 funktioniert die einzeilige Syntax jedoch wieder wie erwartet.
Das obige ist der detaillierte Inhalt vonWie sortiere ich mehrdimensionale Arrays nach inneren Array-Feldern in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!