sort
(PHP 4, PHP 5)
sort — Sortiert ein Array
Beschreibung
&$array
[, int $sort_flags = SORT_REGULAR
] )Diese Funktion sortiert ein Array. Die Elemente werden aufsteigend vom niedrigsten zum höchsten Wert sortiert.
Parameter-Liste
-
array -
Das Eingabe-Array.
-
sort_flags -
Der optionale zweite Parameter
sort_flagskann 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 einem Sortieralgorithmus für "natürlicher Reihenfolge" ähnlich zu natsort() -
SORT_FLAG_CASE- kann kombiniert werden (bitweises OR) mitSORT_STRINGoderSORT_NATURALum Strings unabhängig von Groß- und Kleinschreibung zu sortieren
-
Rückgabewerte
Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.
Changelog
| 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
|
Beispiele
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.
Anmerkungen
Hinweis: Diese Funktion weist den Elementen des Arrays
arrayneue 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.
Siehe auch
- asort() - Sortiert ein Array und erhält die Index-Assoziation
- Den Vergleich von Arraysortierungsfunktionen