Benutzerdefinierte Sortierung mehrdimensionaler Arrays
Das Sortieren mehrdimensionaler Arrays kann eine häufige Aufgabe in der Programmierung sein. Dieser Artikel zeigt, wie man ein solches Array basierend auf einem bestimmten Schlüssel mithilfe der PHP-Funktion usort() sortiert.
Die Aufgabe verstehen
Betrachten Sie das folgende mehrdimensionale Array, in dem jeweils Element stellt einen Datensatz dar:
<code class="php">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 ))</code>
Sortieren nach einem Schlüssel
Um dieses Array nach dem Schlüssel „Status“ zu sortieren, müssen wir eine Vergleichsfunktion definieren, die bestimmt die Reihenfolge der Elemente.
<code class="php">function cmp($a, $b) { if ($a['status'] == $b['status']) { return 0; } return ($a['status'] < $b['status']) ? -1 : 1; }</code>
Diese Funktion vergleicht die „Status“-Werte zweier Elemente. Wenn die Werte gleich sind, wird 0 zurückgegeben. Wenn das erste Element einen niedrigeren „Status“-Wert als das zweite hat, wird -1 zurückgegeben. Andernfalls wird 1 zurückgegeben.
Mit usort()
Wir können jetzt die Funktion usort() verwenden, um das Array mithilfe unserer Vergleichsfunktion zu sortieren:
<code class="php">usort($array, "cmp");</code>
Dadurch wird das Array in aufsteigender Reihenfolge basierend auf dem Schlüssel „Status“ sortiert. Die Elemente des geänderten Arrays werden entsprechend neu angeordnet.
Anpassen des Vergleichs
Die Vergleichsfunktion kann angepasst werden, um das Array basierend auf einem beliebigen Schlüssel zu sortieren. Ändern Sie einfach die Funktion, um die gewünschten Schlüsselwerte zu vergleichen. Dies bietet Flexibilität beim Sortieren mehrdimensionaler Arrays nach verschiedenen Kriterien.
Das obige ist der detaillierte Inhalt vonWie sortiere ich mehrdimensionale Arrays basierend auf einem bestimmten Schlüssel in PHP individuell?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!