ArrayObject::uasort
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
ArrayObject::uasort — Sort the entries with a user-defined comparison function and maintain key association
Beschreibung
This function sorts the entries such that keys maintain their correlation with the entry that they are associated with, using a user-defined comparison function.
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.
Parameter-Liste
-
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.
Beispiele
Beispiel #1 ArrayObject::uasort() example
<?php
// Comparison function
function cmp($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
// Array to be sorted
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
$arrayObject = new ArrayObject($array);
print_r($arrayObject);
// Sort and print the resulting array
$arrayObject->uasort('cmp');
print_r($arrayObject);
?>
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
- ArrayObject::asort() - Sort the entries by value
- ArrayObject::ksort() - Sort the entries by key
- ArrayObject::natsort() - Sort entries using a "natural order" algorithm
- ArrayObject::natcasesort() - Sort an array using a case insensitive "natural order" algorithm
- ArrayObject::uksort() - Sort the entries by keys using a user-defined comparison function
- uasort() - Sortiert ein Array mittels einer benutzerdefinierten Vergleichsfunktion und behält Index-Assoziationen bei