sort
(PHP 4, PHP 5, PHP 7, PHP 8)
sort — Sortiert ein Array in aufsteigender Reihenfolge
Beschreibung
&$array
, int $flags
= SORT_REGULAR
): bool
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.
Parameter-Liste
-
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 sind dem Abschnitt über Vergleichsoperatoren zu entnehmen. -
SORT_NUMERIC
- vergleicht Elemente numerisch. -
SORT_STRING
- vergleicht Elemente als Zeichenketten. -
SORT_LOCALE_STRING
- vergleicht Elemente als Zeichenketten, basierend auf den aktuellen Locale-Einstellungen. Es wird die Locale verwendet, die 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) mitSORT_STRING
oderSORT_NATURAL
, um Zeichenketten unter Berücksichtigung der Groß- und Kleinschreibung zu sortieren.
-
Rückgabewerte
Gibt immer true
zurück.
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: 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()
unerwartete Ergebnisse liefern kann,
wenn flags
SORT_REGULAR
ist.
Siehe auch
- rsort() - Sortiert ein Array in absteigender Reihenfolge
- Den Vergleich von Arraysortierungsfunktionen