sort

(PHP 4, PHP 5, PHP 7)

sortSortiert ein Array

Beschreibung

sort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) : bool

Diese 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.

Parameter-Liste

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

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($fruitsSORT_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 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.

Warnung

Seien Sie vorsichtig bei der Sortierung von Arrays mit unterschiedlichen Typen, weil sort() zu unvorhersehbaren Ergebnissen kommen kann.

Siehe auch