PHP array_multisort() Funktion
Beispiel
Gibt ein aufsteigend geordnetes Array zurück:
<?php $a=array("Dog","Cat","Horse","Bear","Zebra"); array_multisort($a);; print_r($a); ?>
Definition und Verwendung
Die Funktion array_multisort() gibt eine sortierte Liste zurück. Sie können eine oder mehrere Listen eingeben. Die Funktion sortiert zunächst die erste Liste und dann die anderen Listen. Wenn zwei oder mehrere Werte gleich sind, sortiert sie die nächste Liste.
Kommentar:String-Schlüsselnamen werden beibehalten, aber numerische Schlüsselnamen werden neu indiziert, beginnend bei 0 und inkrementierend um 1.
Kommentar:Sie können nach jedem Array Sortierreihenfolge- und Sortiertyp-Parameter setzen. Wenn nicht gesetzt, wird jeder Array-Parameter mit dem Standardwert verwendet.
Syntax
array_multisort(array1,Sortierreihenfolge,Sortiertyp,array2,array3...)
Parameter | Beschreibung |
---|---|
array1 | Erforderlich. Definieren Sie das Array. |
Sortierreihenfolge |
Optional. Definieren Sie die Sortierreihenfolge. Mögliche Werte:
|
Sortiertyp |
Optional. Definieren Sie den Sortiertyp. Mögliche Werte:
|
array2 | Optional. Definieren Sie das Array. |
array3 | Optional. Definieren Sie das Array. |
Beschreibung
Die Funktion array_multisort() sortiert mehrere Arrays oder mehrdimensionale Arrays.
Das Array im Parameter wird als eine Tabelle der Spalten und in Zeilen sortiert - dies ähnelt der Funktion von ORDER BY in SQL. Das erste Array ist das zu sortierende Hauptarray. Wenn die Zeilen (Werte) im Array gleich sind, wird nach dem nächsten Eingabearray mit entsprechenden Werten sortiert, und so weiter.
Der erste Parameter ist ein Array, und jeder nachfolgende Parameter kann ein Array sein oder einer der folgenden Sortierreihenfolge-Flags (Sortierreihenfolge-Flags werden verwendet, um die Standardreihenfolge zu ändern):
- SORT_ASC - Standard. Nach aufsteigender Reihenfolge sortieren. (A-Z)
- SORT_DESC - Nach absteigender Reihenfolge sortieren. (Z-A)
Nachfolgend können Sie den Sortiertyp angeben:
- SORT_REGULAR - Standard. Sortiert jedes Element in der regulären Reihenfolge.
- SORT_NUMERIC - Sortiert jedes Element in numerischer Reihenfolge.
- SORT_STRING - Jedes Element wird alphabetisch geordnet.
Technische Details
Rückgabewert: | Gibt TRUE zurück, wenn erfolgreich, sonst FALSE. |
PHP-Version: | 4+ |
Aktualisierungsprotokoll: |
Die Sortiertypen SORT_NATURAL und SORT_FLAG_CASE wurden in PHP 5.4 hinzugefügt. Der Sortiertyp SORT_LOCALE_STRING wurde in PHP 5.3 hinzugefügt. |
Mehr Beispiele
Beispiel 1
Gibt ein aufsteigend geordnetes Array zurück:
<?php $a1=array("Dog","Cat"); $a2=array("Fido","Missy"); array_multisort($a1,$a2);; print_r($a1); print_r($a2); ?>
Beispiel 2
Wie wird bei gleichen Werten sortiert:
<?php $a1=array("Dog","Dog","Cat"); $a2=array("Pluto","Fido","Missy"); array_multisort($a1,$a2);; print_r($a1); print_r($a2); ?>
Beispiel 3
Verwendete Sortierparameter:
<?php $a1=array("Dog","Dog","Cat"); $a2=array("Pluto","Fido","Missy"); array_multisort($a1,SORT_ASC,$a2,SORT_DESC);; print_r($a1); print_r($a2); ?>
Beispiel 4
Zwei Arrays zusammenführen und nach numerischer Abstiegsreihenfolge sortieren:
<?php $a1=array(1,30,15,7,25); $a2=array(4,30,20,41,66); $num=array_merge($a1,$a2); array_multisort($num,SORT_DESC,SORT_NUMERIC);; print_r($num); ?>