uasort
(PHP 4, PHP 5, PHP 7, PHP 8)
uasort — Sortiert ein Array mittels einer benutzerdefinierten Vergleichsfunktion und behält Index-Assoziationen bei
Beschreibung
Diese Funktion sortiert array
so, dass die Beziehung
der Indizes zu den Arrayelementen, denen sie zugeordnet sind, beibehalten
bleibt. Dabei wird eine vom Benutzer definierte Vergleichsfunktion benutzt.
Dies wird hauptsächlich bei assoziativen Arrays angewandt, wenn die aktuelle Reihenfolge der Arrayelemente signifikant ist.
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:
Setzt den internen Zeiger des Arrays auf das erste Element zurück.
Parameter-Liste
-
array
-
Das zu sortierende Array.
-
callback
-
Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.
Rückgabewerte
Gibt immer true
zurück.
Changelog
Version | Beschreibung |
---|---|
8.0.0 |
Wenn callback einen per Referenz übergebenen
Parameter erwartet, gibt diese Funktion nun einen Fehler der Stufe
E_WARNING aus.
|
Beispiele
Beispiel #1 Einfaches uasort()-Beispiel
<?php
// Vergleichsfunktion
function cmp($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
// Zu sortierendes Array
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
print_r($array);
// Sortieren und Ausgeben des Arrays
uasort($array, 'cmp');
print_r($array);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Array ( [a] => 4 [b] => 8 [c] => -1 [d] => -9 [e] => 2 [f] => 5 [g] => 3 [h] => -4 ) Array ( [d] => -9 [h] => -4 [c] => -1 [e] => 2 [g] => 3 [a] => 4 [f] => 5 [b] => 8 )
Siehe auch
- usort() - Sortiert ein Array nach Werten mittels einer benutzerdefinierten Vergleichsfunktion
- uksort() - Sortiert ein Array nach Schlüsseln mittels einer benutzerdefinierten Vergleichsfunktion
- Den Vergleich von Arraysortierungsfunktionen