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
說明
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.
注意:
如果兩個成員完全相同,那麼它們將保持原來的順序。 在 PHP 8.0.0 之前,它們在排序陣列中的相對順序是未定義的。
返回值
總是返回 true
。
範例
示例 #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);
?>
以上例程會輸出:
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 )
參見
- 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() - 使用使用者自定義的比較函式,保持索引和值的對應關係,原地排序 array。