Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich ein mehrdimensionales Array in PHP mit „usort()' und „uasort()' sortieren?

Wie kann ich ein mehrdimensionales Array in PHP mit „usort()' und „uasort()' sortieren?

Susan Sarandon
Freigeben: 2024-12-27 03:41:09
Original
485 Leute haben es durchsucht

How Can I Sort a Multi-Dimensional Array in PHP Using `usort()` and `uasort()`?

Sortieren eines mehrdimensionalen Arrays nach Wert

Viele Situationen treten auf, in denen die Notwendigkeit besteht, ein mehrdimensionales Array zu sortieren. Dies kann durch die Verwendung einer benutzerdefinierten Vergleichsfunktion innerhalb der Funktion usort() erreicht werden.

Sortieren nach einem einzigen Schlüssel mit usort()

Zum Sortieren Wenn wir das gegebene Array mit dem Wert des Schlüssels „order“ vergleichen, können wir eine Sortierfunktion wie folgt definieren:

function sortByOrder($a, $b) {
    if ($a['order'] > $b['order']) {
        return 1;
    } elseif ($a['order'] < $b['order']) {
        return -1;
    }
    return 0;
}

usort($myArray, 'sortByOrder');
Nach dem Login kopieren

Alternativ können wir eine anonyme Funktion verwenden Funktion:

usort($myArray, function($a, $b) {
    if ($a['order'] > $b['order']) {
        return 1;
    } elseif ($a['order'] < $b['order']) {
        return -1;
    }
    return 0;
});
Nach dem Login kopieren

Mehrdimensionale Sortierung

Dieser Ansatz kann erweitert werden, um mehrdimensionale Arrays zu sortieren. Um beispielsweise nach „Reihenfolge“ und dann nach „Unterordnung“ zu sortieren:

usort($myArray, function($a, $b) {
    $retval = $a['order'] <=> $b['order'];
    if ($retval == 0) {
        $retval = $a['suborder'] <=> $b['suborder'];
    }
    return $retval;
});
Nach dem Login kopieren

Schlüsselzuordnungen mit uasort() beibehalten

Wenn Sie Schlüsselzuordnungen beibehalten müssen , verwenden Sie uasort(). Zum Vergleich siehe den Vergleich der Array-Sortierfunktionen im Handbuch.

Das obige ist der detaillierte Inhalt vonWie kann ich ein mehrdimensionales Array in PHP mit „usort()' und „uasort()' sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage