|
array_multisortSortiert mehrere oder multidimensionale Arrays Beschreibung
bool array_multisort
( array
&$array1
[, mixed $array1_sort_order = SORT_ASC
[, mixed $array1_sort_flags = SORT_REGULAR
[, mixed $...
]]] )array_multisort wird zum Sortieren von entweder mehreren Arrays auf einmal, oder eines multidimensionalen Arrays nach einer oder mehreren Dimensionen benutzt. Assoziative (string) Schlüssel werden beibehalten, während numerische Schlüssel neu indexiert werden. Parameter-Liste
Rückgabewerte
Gibt bei Erfolg Changelog
Beispiele
Beispiel #1 Sortieren mehrerer Arrays
<?phpIn 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.
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)
}
Beispiel #2 Sortieren eines mehrdimensionalen Arrays
<?phpIn 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).
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 #3 Datenbankdaten sortieren In diesem Beispiel repräsentiert jedes Element des Arrays data eine Zeile einer Tabelle. Dieser Typ von Datensätzen ist typisch für Datenbankinhalte. Beispieldaten:
Band | Auflage
-------+--------
67 | 2
86 | 1
85 | 6
98 | 2
86 | 6
67 | 7
Die Daten als data genanntes Array. Dieses würde man üblicherweise erhalten, indem man zum Beispiel mit mysql_fetch_assoc eine Schleife baut.
<?phpIn diesem Beispiel werden wir nach Band absteigend sortieren und nach Auflage aufsteigend. Wir haben ein Array von Zeilen, aber array_multisort benötigt ein Array von Spalten, daher benutzen wir den Code unten, um die Spalten zu bekommen und dann die Sortierung durchzuführen.
<?phpDer Datensatz ist jetzt sortiert und wird wie folgt aussehen: Band | Auflage -----+-------- 98 | 2 86 | 1 86 | 6 85 | 6 67 | 2 67 | 7
Beispiel #4 Groß-/Kleinschreibung nicht-beachtende Sortierung
Sowohl Um eine Suche durchzuführen, die die Groß-/Kleinschreibung nicht beachtet, muss man erzwingen, dass die Sortierreihenfolge von einer Kopie des Originalarrays in Kleinschreibung festgelegt wird.
<?phpDas oben gezeigte Beispiel erzeugt folgende Ausgabe:
Array
(
[0] => Alpha
[1] => atomar
[2] => bank
[3] => Beta
)
|