Mehrdimensionale Arrays nach Schlüssel sortieren
Eine häufige Aufgabe bei der Arbeit mit mehrdimensionalen Arrays ist die Notwendigkeit, sie nach einem bestimmten Schlüssel zu sortieren. Betrachten Sie beispielsweise das folgende Array:
Array ( [0] => Array ( [iid] => 1 [invitee] => 174 [nid] => 324343 [showtime] => 2010-05-09 15:15:00 [location] => 13 [status] => 1 [created] => 2010-05-09 15:05:00 [updated] => 2010-05-09 16:24:00 ) [1] => Array ( [iid] => 1 [invitee] => 220 [nid] => 21232 [showtime] => 2010-05-09 15:15:00 [location] => 12 [status] => 0 [created] => 2010-05-10 18:11:00 [updated] => 2010-05-10 18:11:00 ))
Um dieses Array nach der Taste [Status] zu sortieren, können Sie die Funktion usort zusammen mit einer benutzerdefinierten Vergleichsfunktion verwenden:
// Define a comparison function function cmp($a, $b) { if ($a['status'] == $b['status']) { return 0; } return ($a['status'] < $b['status']) ? -1 : 1; } // Sort the array using the custom comparison function usort($array, "cmp");
Durch die Definition der cmp-Funktion legen Sie fest, wie Elemente beim Sortieren verglichen werden sollen. In diesem Fall vergleicht es den [status]-Schlüssel der beiden Elemente und gibt -1 zurück, wenn $a['status'] kleiner als $b['status'] ist, 0, wenn sie gleich sind, und 1 andernfalls.
Die Funktion usort ordnet die Array-Elemente basierend auf der Ausgabe der Vergleichsfunktion in aufsteigender Reihenfolge an. Dadurch können Sie das mehrdimensionale Array nach dem gewünschten Schlüssel sortieren, in diesem Fall [Status].
Das obige ist der detaillierte Inhalt vonWie sortiere ich mehrdimensionale Arrays nach einem bestimmten Schlüssel mithilfe von usort und einer benutzerdefinierten Vergleichsfunktion?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!