(PHP 4, PHP 5, PHP 7)
uasort — Sortiert ein Array mittels einer benutzerdefinierten Vergleichsfunktion und behält Indexassoziationen bei
Diese Funktion sortiert ein Array so, dass die Beziehung der Indexe zu den Arrayelementen 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, ist die relative Sortierung im sortierten Array nicht definiert.
Gibt bei Erfolg TRUE
zurück. Im Fehlerfall wird FALSE
zurückgegeben.
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 )