Arrays sortieren
PHP bietet mehrere Funktionen, um Arrays zu sortieren. Diese Seite beinhaltet eine Übersicht über diese Funktionen.
Die Hauptunterschiede:
-
Einige Sortierungen basieren auf den Array-Schlüsseln,
während andere auf den Werten basieren:
$array['schluessel'] = 'wert';
. - Einige Sortierungen behalten die Korrelation zwischen Schlüsseln und Werten bei, andere nicht, was bedeuten kann, dass die Schlüssel numerisch neu zugewiesen werden (0,1,2 ...)
- Die Reihenfolge der Sortierung: Alphabetisch, aufsteigend (niedrig nach hoch), absteigend (hoch zu niedrig), natürlich, zufällig oder benutzerdefiniert.
- Hinweis: Alle Sortierungen werden direkt auf die Array-Variable selbst angewendet, statt ein neues sortiertes Array zurückzugeben.
- Wenn eine dieser Sortierfunktionen zwei Schlüssel/Werte als gleich bewertet, wird die ursprüngliche Reihenfolge beibehalten. Vor PHP 8.0.0 war deren Reihenfolge undefiniert (die Sortierung war nicht stabil).
Funktionsname | Sortiert nach | Pflegt Schlüssel Assoziation | Art der Sortierung | Ähnliche Funktionen |
---|---|---|---|---|
array_multisort() | Wert | string-Schlüssel: ja, int-Schlüssel: nein | erste Array- oder Sortieroptionen | array_walk() |
asort() | Wert | ja | aufsteigend | arsort() |
arsort() | Wert | ja | absteigend | asort() |
krsort() | Schlüssel | ja | absteigend | ksort() |
ksort() | Schlüssel | ja | aufsteigend | krsort() |
natcasesort() | Wert | ja | natürlich, beachtet Groß-/Kleinschreibung | natsort() |
natsort() | Wert | ja | natürlich | natcasesort() |
rsort() | Wert | nein | absteigend | sort() |
shuffle() | Wert | nein | zufällig | array_rand() |
sort() | Wert | nein | aufsteigend | rsort() |
uasort() | Wert | ja | benutzerdefiniert | uksort() |
uksort() | Schlüssel | ja | benutzerdefiniert | uasort() |
usort() | Wert | nein | benutzerdefiniert | uasort() |