(PHP 4, PHP 5, PHP 7, PHP 8)
sort — Sortiert ein Array in aufsteigender Reihenfolge
Sortiert array
nach Werten in aufsteigender Reihenfolge.
Hinweis:
Wenn zwei Mitglieder als identisch verglichen werden, behalten sie ihre ursprüngliche Reihenfolge bei. Vor PHP 8.0.0 war die relative Sortierung im sortierten Array nicht definiert.
Hinweis: Diese Funktion weist den Elementen des Arrays
array
neue Schlüssel zu. Bestehende Schlüssel, die bereits zugewiesen wurden, werden entfernt statt einfach nur die Schlüssel neu anzuordnen
Hinweis:
Setzt den internen Zeiger des Arrays auf das erste Element zurück.
array
Das Eingabe-Array.
flags
Der optionale zweite Parameter flags
kann mit
folgenden Werten genutzt werden, um das Sortierverhalten zu ändern:
Flags für den Sortiertyp:
SORT_REGULAR
- vergleicht Elemente normal; die
Details werden im Abschnitt
Vergleichsoperatoren
beschrieben.
SORT_NUMERIC
- vergleicht Elemente numerisch.
SORT_STRING
- vergleicht Elemente als Zeichenketten.
SORT_LOCALE_STRING
- vergleicht Elemente als
Zeichenketten, basierend auf dem aktuellen Gebietsschema. Es wird das
Gebietsschema verwendet, das mit setlocale() geändert
werden kann.
SORT_NATURAL
- vergleicht Elemente als Zeichenketten
wie natsort() mit "natürlicher Ordnung".
SORT_FLAG_CASE
- kann kombiniert werden (bitweise
ODER) mit SORT_STRING
oder
SORT_NATURAL
, um Zeichenketten ohne
Berücksichtigung der Groß- und Kleinschreibung zu sortieren.
Gibt immer true
zurück.
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: 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 das man sich nicht verlassen sollte.
Vorsicht ist geboten wenn Arrays mit Werten unterschiedlichen Typs
sortiert werden, weil sort() unerwartete Ergebnisse
liefern kann, wenn flags
SORT_REGULAR
ist.