„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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?

Veröffentlicht am 08.11.2024
Durchsuche:556

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'] 

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].

Freigabeerklärung Dieser Artikel wird reproduziert unter: 1729422320 Wenn ein Verstoß vorliegt, wenden Sie sich bitte an [email protected], um ihn zu löschen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3