Heim >Backend-Entwicklung >PHP-Tutorial >Wie sortiere ich ein mehrdimensionales Array nach Wert in PHP?
Sortieren eines mehrdimensionalen Arrays nach Wert
In einem mehrdimensionalen Array müssen Sie möglicherweise seine Elemente nach sortieren der Wert eines bestimmten Schlüssels. Betrachten Sie zum Beispiel das folgende Array:
Array ( [0] => Array ( [hashtag] => a7e87329b5eab8578f4f1098a152d6f4 [title] => Flower [order] => 3 ) [1] => Array ( [hashtag] => b24ce0cd392a5b0b8dedc66c25213594 [title] => Free [order] => 2 ) [2] => Array ( [hashtag] => e7d31fc0602fb2ede144d18cdffd816b [title] => Ready [order] => 1 ) )
Sortieren nach dem Schlüssel „Reihenfolge“
Um das Array nach dem Schlüssel „Reihenfolge“ zu sortieren, können Sie Folgendes verwenden die Funktion usort(). Hier ist eine umfassende Aufschlüsselung der Verwendung:
PHP 5.2 oder früher:
Definieren Sie zuerst eine Sortierfunktion:
function sortByOrder($a, $b) { if ($a['order'] > $b['order']) { return 1; } elseif ($a['order'] < $b['order']) { return -1; } return 0; }
PHP 5.3 und höher:
Verwenden Sie eine Anonymität Funktion:
usort($myArray, function($a, $b) { if ($a['order'] > $b['order']) { return 1; } elseif ($a['order'] < $b['order']) { return -1; } return 0; });
PHP 7:
Verwenden Sie den Raumschiffoperator:
usort($myArray, function($a, $b) { return $a['order'] <=> $b['order']; });
PHP 7.4:
Benutze einen Pfeil Funktion:
usort($myArray, fn($a, $b) => $a['order'] <=> $b['order']);
Mehrdimensionale Sortierung:
Für mehrdimensionale Sortierung ändern Sie die Sortierfunktion so, dass sie auf nachfolgende Sortierelemente verweist, wenn das erste Element Null ist. Zum Beispiel:
usort($myArray, function($a, $b) { $retval = $a['order'] <=> $b['order']; if ($retval == 0) { $retval = $a['suborder'] <=> $b['suborder']; if ($retval == 0) { $retval = $a['details']['subsuborder'] <=> $b['details']['subsuborder']; } } return $retval; });
Schlüsselzuordnungen
Wenn Sie Schlüsselzuordnungen pflegen müssen, verwenden Sie uasort() anstelle von usort().
Das obige ist der detaillierte Inhalt vonWie sortiere ich ein mehrdimensionales Array nach Wert in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!