Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich mit „array_multisort()' ein mehrdimensionales Array in PHP mithilfe mehrerer Spalten sortieren?

Wie kann ich mit „array_multisort()' ein mehrdimensionales Array in PHP mithilfe mehrerer Spalten sortieren?

Patricia Arquette
Freigeben: 2024-12-16 14:23:15
Original
105 Leute haben es durchsucht

How can I sort a multidimensional array in PHP using multiple columns with `array_multisort()`?

Sortieren mehrdimensionaler Arrays nach mehreren Spalten

Das Sortieren mehrdimensionaler Arrays nach mehreren Kriterien kann eine komplexe Aufgabe sein, ist aber für das Organisieren und Abrufen von Daten von entscheidender Bedeutung effizient. In dieser Frage wird untersucht, wie man mit array_multisort() ein mehrdimensionales Array basierend auf mehreren Spalten sortiert.

Array_multisort() verstehen

array_multisort() ist eine integrierte PHP-Funktion das Arrays nach mehreren Kriterien sortieren kann. Es benötigt eine beliebige Anzahl von Arrays als Eingabe, die die zu sortierenden Spalten darstellen. Die entsprechenden Elemente aus jedem Eingabearray werden zum Sortieren verglichen.

Implementierung

  1. Sortierschlüssel identifizieren: Bestimmen Sie die gewünschten Spalten sortieren nach. In diesem Fall haben Sie „state“, „event_type“ und „date_start“.
  2. Spaltendaten abrufen: Erstellen Sie ein Array ($sort), um die Werte für die angegebene Sortierung zu speichern Schlüssel. Durchlaufen Sie das ursprüngliche Array und extrahieren Sie die Daten für jeden Schlüssel.
  3. Spalten sortieren: Rufen Sie array_multisort() mit dem $sort-Array auf. Geben Sie die gewünschte Sortierreihenfolge für jede Spalte an (z. B. SORT_DESC für „Status“).
  4. Original-Array aktualisieren: Nach dem Sortieren ändert array_multisort() das Original-Array ($mylist).

Beispiel Code

$sort = array();
foreach($mylist as $k=>$v) {
    $sort['state'][$k] = $v['state'];
    $sort['event_type'][$k] = $v['event_type'];
    $sort['date_start'][$k] = $v['date_start'];
}

array_multisort($sort['state'], SORT_ASC,
                $sort['event_type'], SORT_DESC,
                $sort['date_start'], SORT_ASC,
                $mylist);
Nach dem Login kopieren

Ergebnis:

Das $mylist-Array wird in aufsteigender Reihenfolge nach „Status“, absteigender Reihenfolge nach „Ereignistyp“ und sortiert Aufsteigende Reihenfolge nach „Datum_Start“.

Das obige ist der detaillierte Inhalt vonWie kann ich mit „array_multisort()' ein mehrdimensionales Array in PHP mithilfe mehrerer Spalten 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