Heim >Backend-Entwicklung >PHP-Tutorial >Wie sortiere ich Arrays und Daten in PHP?
Dazu gehören mehrdimensionale Arrays, einschließlich Arrays von Objekten, und Sortierung ein Array basierend auf einem anderen.
Sortierung Funktionen:
PHP benötigt eine benutzerdefinierte Vergleichsfunktion, um komplexe Werte zu sortieren.
Schritte:
Erstellen Sie eine Vergleichsfunktion, die zwei Elemente akzeptiert und Folgendes zurückgibt:
Verwenden Sie eines davon Funktionen:
Bei einer numerischen Sortierung Schlüssel:
function cmp(array $a, array $b) { return $a['baz'] - $b['baz']; }
Beim Sortieren eines Arrays von Objekten:
function cmp($a, $b) { return $a->baz - $b->baz; }
Für die primäre Sortierung nach einem Feld (z. B. „foo“) und sekundäre Sortierung nach einer anderen (z. B. „baz“):
function cmp(array $a, array $b) { if (($cmp = strcmp($a['foo'], $b['foo'])) !== 0) { return $cmp; } else { return $a['baz'] - $b['baz']; } }
So sortieren Sie in eine bestimmte Reihenfolge (z. B. „foo“, „bar“, „baz“):
function cmp(array $a, array $b) { static $order = array('foo', 'bar', 'baz'); return array_search($a['foo'], $order) - array_search($b['foo'], $order); }
Zum Sortieren eines Arrays basierend auf ein anderer:
array_multisort($array1, $array2);
Ab PHP 5.5.0 können Sie array_column verwenden, um eine bestimmte Spalte zu extrahieren und das Array entsprechend zu sortieren:
array_multisort(array_column($array, 'foo'), SORT_DESC, $array);
Das obige ist der detaillierte Inhalt vonWie sortiere ich Arrays und Daten in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!