(PHP 4, PHP 5, PHP 7)
sort — Sortiert ein Array
&$array
[, int $sort_flags
= SORT_REGULAR
] ) : boolDiese Funktion sortiert ein Array. Die Elemente werden aufsteigend vom niedrigsten zum höchsten Wert sortiert.
Hinweis:
Wenn zwei Mitglieder als identisch verglichen werden, ist die relative Sortierung im sortierten Array nicht definiert.
array
Das Eingabe-Array.
sort_flags
Der optionale zweite Parameter sort_flags
kann mit folgenden Werten genutzt werden, um das Sortierverhalten
zu ändern:
Sortiertypen-Flags:
SORT_REGULAR
- vergleiche Einträge
normal (ohne die Typen zu ändern)
SORT_NUMERIC
- vergleiche Einträge
numerisch
SORT_STRING
- vergleiche Einträge
als Strings
SORT_LOCALE_STRING
- vergleiche
Einträge als Strings, basierend auf den aktuellen Locale-Einstellungen.
Es wird die System-Locale benutzt, die mittels setlocale()
geändert werden kann.
SORT_NATURAL
- vergleicht mittels eines
Sortieralgorithmus für "natürlicher Reihenfolge" ähnlich zu
natsort()
SORT_FLAG_CASE
- kann kombiniert werden
(bitweises OR) mit
SORT_STRING
oder
SORT_NATURAL
um Strings unabhängig von Groß-
und Kleinschreibung zu sortieren
Gibt bei Erfolg TRUE
zurück. Im Fehlerfall wird FALSE
zurückgegeben.
Version | Beschreibung |
---|---|
5.4.0 |
Unterstützung für SORT_NATURAL und
SORT_FLAG_CASE als sort_flags
hinzugefügt
|
5.0.2 |
SORT_LOCALE_STRING hinzugefügt
|
Beispiel #1 sort()-Beispiel
<?php
$fruits = array("Zitrone", "Orange", "Banane", "Apfel");
sort($fruits);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
fruits[0] = Apfel fruits[1] = Banane fruits[2] = Orange fruits[3] = Zitrone
Die Früchte wurden in alphabetischer Reihenfolge sortiert.
Beispiel #2 sort()-Beispiel mit natürlicher Sortierung ohne Beachtung der Groß- und Kleinschreibung
<?php
$fruits = array(
"Orange1", "orange2", "Orange3", "orange20"
);
sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
fruits[0] = Orange1 fruits[1] = orange2 fruits[2] = Orange3 fruits[3] = orange20
Die Früchte wurden wie durch natcasesort() sortiert.
Hinweis: Diese Funktion weist den Elementen des Arrays
array
neue Schlüssel zu. Bestehende Schlüssel, die Sie eventuell zugewiesen haben, werden entfernt statt einfach nur die Schlüssel neu anzuordnen
Hinweis: Wie die meisten PHP-Sortierfunktionen benutzt sort() eine Implementierung von » Quicksort. Das Pivotelement wird aus der Mitte der Partition gewählt, was zu optimaler Laufzeit für bereits sortierte Arrays führt. Das ist jedoch ein Implementierungsdetail auf dass Sie sich nicht verlassen sollten.
Seien Sie vorsichtig bei der Sortierung von Arrays mit unterschiedlichen Typen, weil sort() zu unvorhersehbaren Ergebnissen kommen kann.