Sortieren eines mehrdimensionalen Arrays nach einer bestimmten Spalte in PHP
Um ein mehrdimensionales Array in PHP nach einer bestimmten Spalte zu sortieren, verwenden Sie die integrierte in PHP-Funktionen usort oder uasort. Der Schlüssel zum Sortieren besteht darin, eine benutzerdefinierte Vergleichsfunktion bereitzustellen, die die Reihenfolge der Array-Elemente bestimmt.
Benutzerdefinierte Vergleichsfunktion zum Sortieren
Die benutzerdefinierte Vergleichsfunktion benötigt zwei Elemente des Arrays als Eingabe und gibt eine Ganzzahl zurück:
Sortieren nach einer einzelnen Spalte
Angenommen, Sie haben ein mehrdimensionales Array namens $data wobei jedes Element einen Datensatz mit mehreren Spalten darstellt. Um das Array nach der Spalte 'name' zu sortieren, verwenden Sie den folgenden Code:
usort($data, function($a, $b) { return strcmp($a['name'], $b['name']); });
Diese benutzerdefinierte Vergleichsfunktion verwendet die Funktion strcmp, um die Werte von zu vergleichen die Spalte 'name' für jedes Element. Im sortierten Array werden die Elemente alphabetisch nach der Spalte 'name' sortiert.
Sortieren nach mehreren Spalten
Zum Sortieren nach mehreren Spalten Übergeben Sie zusätzliche Parameter an die benutzerdefinierte Vergleichsfunktion. Um beispielsweise nach 'Nummer' und dann 'Name' zu sortieren:
usort($data, function($a, $b) { if ($a['number'] == $b['number']) { return strcmp($a['name'], $b['name']); } return $a['number'] - $b['number']; });
Erweiterte Funktionen
Sie können auch die folgenden erweiterten Funktionen festlegen:
Das obige ist der detaillierte Inhalt vonWie sortiere ich ein mehrdimensionales Array nach einer bestimmten Spalte in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!