Die Funktion array_multisort() in PHP kann verwendet werden, um mehrere Arrays gleichzeitig zu sortieren oder um mehrdimensionale Arrays nach einer bestimmten Dimension oder mehreren Dimensionen zu sortieren. In diesem Artikel erfahren Sie, wie Sie die Funktion array_multisort verwenden.
Die Funktion array_multisort() gibt ein sortiertes Array zurück. Sie können ein oder mehrere Arrays eingeben. Die Funktion sortiert zuerst das erste Array, dann die anderen Arrays, und wenn zwei oder mehr Werte gleich sind, sortiert sie das nächste Array.
Hinweis: String-Schlüsselnamen bleiben erhalten, numerische Schlüsselnamen werden jedoch neu indiziert, beginnend bei 0 und aufsteigend um 1.
Hinweis: Sie können die Sortierreihenfolge und die Sortiertypparameter nach jedem Array festlegen. Wenn nicht festgelegt, verwendet jeder Array-Parameter seinen Standardwert.
Syntax
array_multisort(array1,sorting order,sorting type,array2,array3...)
Parameterbeschreibung
Rückgabewert
Gibt TRUE bei Erfolg oder FALSE bei Fehler zurück.
Beschreibung
Die Funktion array_multisort() sortiert mehrere Arrays oder mehrdimensionale Arrays.
Das Array im Parameter wird als Tabellenspalte behandelt und nach Zeile sortiert – dies ähnelt der Funktionalität der ORDER BY-Klausel von SQL. Das erste Array ist das zu sortierende Hauptarray. Wenn die Zeilen (Werte) im Array identisch sind, werden sie entsprechend der Größe des entsprechenden Werts im nächsten Eingabearray usw. sortiert.
Der erste Parameter ist ein Array, und jeder nachfolgende Parameter kann ein Array oder eines der folgenden Sortierreihenfolge-Flags sein (das Sortierflag wird zum Ändern der Standardsortierreihenfolge verwendet):
SORT_ASC - Standardmäßig in aufsteigender Reihenfolge sortieren. (A-Z)
SORT_DESC – Sortierung in absteigender Reihenfolge. (Z-A)
Die Art der Sortierung kann dann angegeben werden:
SORT_REGULAR – Standard. Ordnen Sie jeden Artikel in regelmäßiger Reihenfolge an.
SORT_NUMERIC – Sortieren Sie jedes Element in numerischer Reihenfolge.
SORT_STRING – Sortieren Sie jedes Element in alphabetischer Reihenfolge.
Beispiel 1:
Mehrdimensionales Array sortieren
<?php $ar = array( array("10",11,100,100,"a"), array(1,2,"2",3,1) ); array_multisort($ar[0], SORT_ASC,SORT_STRING,$ar[1],SORT_NUMERIC,SORT_DESC); var_dump($ar); ?>
In diesem Beispiel wird das erste Array nach dem Sortieren zu „10“, 100, 100, 11, „a“ (in aufsteigender Reihenfolge als Zeichenfolge behandelt). Das zweite Array enthält 1, 3, „2“, 2, 1 (in absteigender Reihenfolge als Zahlen behandelt).
Laufende Ergebnisse:
array(2) { [0]=> array(5) { [0]=> string(2) "10" [1]=> int(100) [2]=> int(100) [3]=> int(11) [4]=> string(1) "a" } [1]=> array(5) { [0]=> int(1) [1]=> int(3) [2]=> string(1) "2" [3]=> int(2) [4]=> int(1) } }
Beispiel 2:
Groß-/Kleinschreibung nicht beachtete Sortierung
SORT_STRING und SORT_REGULAR unterscheiden zwischen Groß- und Kleinschreibung und Großbuchstaben werden vor Kleinbuchstaben sortiert.
Um eine Sortierung ohne Berücksichtigung der Groß- und Kleinschreibung durchzuführen, sortieren Sie nach Kleinbuchstabenkopien des ursprünglichen Arrays.
<?php $array=array('Alpha','atomic','Beta','bank'); $array_lowercase=array_map('strtolower',$array); array_multisort($array_lowercase,SORT_ASC,SORT_STRING,$array); print_r($array); ?>
Laufergebnisse:
Array ( [0] => Alpha [1] => atomic [2] => bank [3] => Beta )
Vielen Dank fürs Lesen, ich hoffe, es kann allen helfen , vielen Dank an alle Unterstützen Sie diese Seite!
Weitere ausführliche Erklärungen zu php array_multisort und Beispielcodes zum Sortieren von Arrays finden Sie auf der chinesischen PHP-Website!