PHP
Referenzliste
array_multisort
Array-Funktionen
Befehl:
bool array_multisort ( array $ar1 [, mixed $arg [, mixed $... [, array $...]]] )
bool array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC [, mixed $array1_sort_flags = SORT_REGULAR [, mixed $... ]]] )
bool array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC [, mixed $array1_sort_flags = SORT_REGULAR [, mixed $... ]]] )
Parameter-Liste:
Beschreibung | |
---|---|
Ein zu sortierendes array. | |
Optional ein weiteres array, oder Sortieroptionen für das vorherige array-Argument:SORT_ASC , SORT_DESC , SORT_REGULAR , SORT_NUMERIC , SORT_STRING . | |
... | Weitere Parameter (arg ). |
Beschreibung ab Version 5.3.0 | |
---|---|
Ein zu sortierendes array. | |
Die Reihenfolge verwendet, um die vorherige Array Argument zu sortieren. Entweder SORT_ASC um aufsteigend oder absteigend sortieren, um SORT_DESC sortieren.Dieses Argument kann mit array1_sort_flags vertauscht werden oder ganz entfallen, in welchem Fall SORT_ASC angenommen. | |
Sortieroptionen für die vorherige Array-Argument: Flags für Sortiertypen:
array1_sort_order vertauscht werden oder ganz entfallen, in welchem Fall SORT_REGULAR angenommen. | |
Mehr Arrays, dieg egebenenfalls durch Sortierung und Fahnen gefolgt. |
Rückgabewerte:
Gibt bei Erfolg
TRUE
zurück. Im Fehlerfall wird FALSE
zurückgegeben. Beschreibung:
Die Funktion array_multisort() sortiert mehrere Arrays oder ein multidimensionales Array auf einmal. Dabei werden die angegebenen Arrays als Spalten einer Tabelle (wie bei einer Datenbank) betrachtet.
Das erste Argument (ar1) muss ein Array sein. Alle nachfolgenden Argumente können entweder ein Array oder ein Sortierflag sein.
Flags für Sortierreihenfolge:
• SORT_ASC – Sortiert in aufsteigender Reihenfolge
• SORT_DESC – Sortiert in absteigender Reihenfolge
Flags für Sortiertypen:
• SORT_REGULAR – Vergleicht die Felder normal
• SORT_NUMERIC – Vergleicht die Felder numerisch
• SORT_STRING – Vergleicht Felder als Strings
Jedes Flag ist nur für das vorhergehende Array gültig und wird danach wieder auf die Standartwerte SORT_DESC und SORT_REGULAR zurückgesetzt.
Das erste Argument (ar1) muss ein Array sein. Alle nachfolgenden Argumente können entweder ein Array oder ein Sortierflag sein.
Flags für Sortierreihenfolge:
• SORT_ASC – Sortiert in aufsteigender Reihenfolge
• SORT_DESC – Sortiert in absteigender Reihenfolge
Flags für Sortiertypen:
• SORT_REGULAR – Vergleicht die Felder normal
• SORT_NUMERIC – Vergleicht die Felder numerisch
• SORT_STRING – Vergleicht Felder als Strings
Jedes Flag ist nur für das vorhergehende Array gültig und wird danach wieder auf die Standartwerte SORT_DESC und SORT_REGULAR zurückgesetzt.
Aktiv in Version:
(PHP 4, PHP 5, PHP 7)
Siehe auch:
array_multisort() - Beispiel: Sortieren mehrerer Arrays
Eingabe:
In diesem Beispiel enthält das erste Array nach dem Sortieren 0, 10, 100, 100. Das zweite Array wird 4, 1, 2, 3 enthalten. Die Einträge des zweiten Arrays, welche den identischen Einträgen des ersten Arrays entsprechen (100 und 100), wurden ebenfalls sortiert.
<?php $ar1 = array(10, 100, 100, 0); $ar2 = array(1, 3, 2, 4); array_multisort($ar1, $ar2); var_dump($ar1); var_dump($ar2); ?>
Ausgabe:
array(4) {
[0]=> int(0)
[1]=> int(10)
[2]=> int(100)
[3]=> int(100)
}
array(4) {
[0]=> int(4)
[1]=> int(1)
[2]=> int(2)
[3]=> int(3)
}
[0]=> int(0)
[1]=> int(10)
[2]=> int(100)
[3]=> int(100)
}
array(4) {
[0]=> int(4)
[1]=> int(1)
[2]=> int(2)
[3]=> int(3)
}
Beschreibung:
In diesem Beispiel enth�lt das erste Array nach dem Sortieren 0, 10, 100, 100. Das zweite Array wird 4, 1, 2, 3 enthalten. Die Eintr�ge des zweiten Arrays, welche den identischen Eintr�gen des ersten Arrays entsprechen (100 und 100), wurden ebenfalls sortiert.
Beschreibung:
Beschreibung | |
---|---|
5.4.0 | Die SORT_NATURAL und SORT_FLAG_CASE wurden hinzugefügt, um möglichst Art Fahnen array1_sort_flags . |
5.3.0 | Die SORT_LOCALE_STRING wurde hinzugefügt, um möglichst Art Fahnen array1_sort_flags . |
array_multisort() - Beispiel 2: Sortieren eines mehrdimensionalen Arrays
Eingabe:
In diesem Beispiel wird sich das erste Array nach der Sortierung in "10", 100, 100, 11, "a" ändern (es wurde als Strings in aufsteigender Reihenfolge sortiert). Das zweite wird 1, 3, "2", 2, 1 enthalten (sortiert als Zahlen in absteigender Reihe).
<?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); ?>
Ausgabe:
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)
}
}
[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)
}
}
Beschreibung:
In diesem Beispiel wird sich das erste Array nach der Sortierung in "10", 100, 100, 11, "a" �ndern (es wurde als Strings in aufsteigender Reihenfolge sortiert). Das zweite wird 1, 3, "2", 2, 1 enthalten (sortiert als Zahlen in absteigender Reihe).
Beschreibung:
Beschreibung | |
---|---|
5.4.0 | Die SORT_NATURAL und SORT_FLAG_CASE wurden hinzugefügt, um möglichst Art Fahnen array1_sort_flags . |
5.3.0 | Die SORT_LOCALE_STRING wurde hinzugefügt, um möglichst Art Fahnen array1_sort_flags . |
array_multisort() - Beispiel 3: Gross-/Kleinschreibung nicht-beachtende Sortierung
Eingabe:
Um eine Suche durchzuführen, die die Gross-/Kleinschreibung nicht beachtet, muss man erzwingen, dass die Sortierreihenfolge von einer Kopie des Originalarrays in Kleinschreibung festgelegt wird.
<?php $array = array('Alpha', 'atomar', 'Beta', 'bank'); $array_lowercase = array_map('strtolower', $array); array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $array); print_r($array); ?>
Ausgabe:
Array
(
[0] => Alpha
[1] => atomar
[2] => bank
[3] => Beta
)
(
[0] => Alpha
[1] => atomar
[2] => bank
[3] => Beta
)
Beschreibung:
Sowohl SORT_STRING als auch SORT_REGULAR beachten die Gross/Kleinschreibung, weshalb Strings, welche mit grossem Buchstaben beginnen, vor Strings einsortiert werden, die mit kleinem Buchstaben anfangen.
Um eine Suche durchzuf�hren, die die Gross-/Kleinschreibung nicht beachtet, muss man erzwingen, dass die Sortierreihenfolge von einer Kopie des Originalarrays in Kleinschreibung festgelegt wird.
Um eine Suche durchzuf�hren, die die Gross-/Kleinschreibung nicht beachtet, muss man erzwingen, dass die Sortierreihenfolge von einer Kopie des Originalarrays in Kleinschreibung festgelegt wird.
Beschreibung:
Beschreibung | |
---|---|
5.4.0 | Die SORT_NATURAL und SORT_FLAG_CASE wurden hinzugefügt, um möglichst Art Fahnen array1_sort_flags . |
5.3.0 | Die SORT_LOCALE_STRING wurde hinzugefügt, um möglichst Art Fahnen array1_sort_flags . |
Array-Funktionen