(PHP 5 >= 5.2.0, PHP 7, PHP 8)
ArrayObject::asort — Sort the entries by value
$flags
= SORT_REGULAR
): boolSorts the entries in ascending order, such that its keys maintain their correlation with the values they are associated with.
This is used mainly when sorting associative arrays where the actual element order is significant.
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.
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) mit SORT_STRING
oder
SORT_NATURAL
, um Zeichenketten unter
Berücksichtigung der Groß- und Kleinschreibung zu sortieren.
Gibt immer true
zurück.
Beispiel #1 ArrayObject::asort() example
<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
$fruitArrayObject = new ArrayObject($fruits);
$fruitArrayObject->asort();
foreach ($fruitArrayObject as $key => $val) {
echo "$key = $val\n";
}
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
c = apple b = banana d = lemon a = orange
The fruits have been sorted in alphabetical order, and the key associated with each entry has been maintained.