Heim  >  Artikel  >  Backend-Entwicklung  >  Wie sortiere ich ein mehrdimensionales Array nach einem bestimmten Schlüssel mit usort() von PHP?

Wie sortiere ich ein mehrdimensionales Array nach einem bestimmten Schlüssel mit usort() von PHP?

Barbara Streisand
Barbara StreisandOriginal
2024-10-20 19:08:30127Durchsuche

How to Sort a Multidimensional Array by a Specific Key Using PHP's usort()?

Sortieren eines mehrdimensionalen Arrays nach einem bestimmten Schlüssel

Im Bereich der Programmierung ist das Sortieren von Daten ein grundlegender Vorgang, insbesondere bei der Arbeit mit Arrays . Beim Umgang mit mehrdimensionalen Arrays kann die Aufgabe entstehen, nach einem bestimmten Schlüssel zu sortieren.

Betrachten wir die Notwendigkeit, ein mehrdimensionales Array basierend auf einem Schlüssel zu sortieren, der in Ihrem Beispielarray als [Status] dargestellt wird. Um dies zu erreichen, können wir die Funktion usort() in PHP nutzen, die eine Vergleichsfunktion als Argument erfordert.

Vergleichsfunktion

Die Vergleichsfunktion für usort( ) bestimmt die Sortierreihenfolge durch den Vergleich zweier Array-Elemente. In diesem Fall wollen wir die [Status]-Werte der beiden Arrays a und b vergleichen:

function cmp($a, $b) {
    if ($a['status'] == $b['status']) {
        return 0;
    }
    return ($a['status'] < $b['status']) ? -1 : 1;
}
  • Wenn beide Arrays den gleichen [Status]-Wert haben, wird 0 zurückgegeben.
  • Wenn der [Status] von Array a kleiner ist als der von Array b, wird -1 zurückgegeben.
  • Wenn der [Status] von Array a größer ist als der von Array b, wird 1 zurückgegeben.

Sortieren des Arrays

Da wir nun unsere Vergleichsfunktion definiert haben, können wir sie anwenden, um das Array mit usort() zu sortieren:

usort($array, "cmp");

Dieser Befehl ändert das ursprüngliche $array direkt und sortiert es basierend auf der Vergleichsfunktion.

Durch Ändern der Vergleichsfunktion können Sie das Array nach jedem gewünschten Schlüssel sortieren und so flexible Sortiermöglichkeiten für Ihre mehrdimensionalen Arrays bereitstellen.

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein mehrdimensionales Array nach einem bestimmten Schlüssel mit usort() von PHP?. 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