Heim  >  Artikel  >  Backend-Entwicklung  >  Wie sortiere ich mehrdimensionale Arrays nach einem bestimmten Schlüssel mithilfe von usort und einer benutzerdefinierten Vergleichsfunktion?

Wie sortiere ich mehrdimensionale Arrays nach einem bestimmten Schlüssel mithilfe von usort und einer benutzerdefinierten Vergleichsfunktion?

Linda Hamilton
Linda HamiltonOriginal
2024-10-20 19:07:02476Durchsuche

How to Sort Multidimensional Arrays by a Specific Key Using usort and Custom Comparison Function?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn