Sortieren eines mehrdimensionalen Arrays nach Unterarray-Wert in PHP
In PHP können Arrays mehrdimensional sein, was bedeutet, dass sie Arrays innerhalb von Arrays enthalten können . Ein häufiger Anwendungsfall besteht darin, solche Arrays basierend auf einem bestimmten Schlüssel innerhalb der verschachtelten Unterarrays zu sortieren.
Sortieren nach einem Zeichenfolgenschlüssel
Betrachten Sie das folgende Array:
$array = [ [ 'configuration_id' => 10, 'id' => 1, 'optionNumber' => '3', 'optionActive' => 1, 'lastUpdated' => '2010-03-17 15:44:12' ], [ 'configuration_id' => 9, 'id' => 1, 'optionNumber' => '2', 'optionActive' => 1, 'lastUpdated' => '2010-03-17 15:44:12' ], [ 'configuration_id' => 8, 'id' => 1, 'optionNumber' => '1', 'optionActive' => 1, 'lastUpdated' => '2010-03-17 15:44:12' ] ];
Um dieses Array basierend auf dem Schlüssel „optionNumber“ in aufsteigender Reihenfolge zu sortieren, können wir usort zusammen mit einem anonymen Wert verwenden Funktion:
usort($array, function ($a, $b) { return strcmp($a['optionNumber'], $b['optionNumber']); });
Diese Funktion vergleicht die „optionNumber“-Werte jedes Unterarrays und gibt 1 zurück, wenn der erste Wert größer ist, -1, wenn er kleiner ist, oder 0, wenn sie gleich sind. Bei diesem Vergleich wird die Groß-/Kleinschreibung beachtet.
Sortieren nach einem Ganzzahlschlüssel
Wenn der Schlüssel „optionNumber“ Ganzzahlen enthält, können wir die folgende Funktion verwenden:
usort($array, function ($a, $b) { return $a['optionNumber'] - $b['optionNumber']; });
Dieser Vergleich sortiert das Array in aufsteigender numerischer Reihenfolge Reihenfolge.
Überlegungen
Das obige ist der detaillierte Inhalt vonWie sortiere ich ein mehrdimensionales PHP-Array nach Sub-Array-Wert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!