(PHP 4, PHP 5, PHP 7, PHP 8)
uasort —
使用用戶自定義的比較函數(shù),保持索引和值的對應(yīng)關(guān)系,原地排序 array。
本函數(shù)對 array 本身排序并保持索引和單元之間的關(guān)聯(lián)。
主要用于對那些單元順序很重要的結(jié)合數(shù)組進行排序。比較函數(shù)是用戶自定義的。
注意:
如果兩個成員完全相同,那么它們將保持原來的順序。 在 PHP 8.0.0 之前,它們在排序數(shù)組中的相對順序是未定義的。
注意:
重置數(shù)組中的內(nèi)部指針,指向第一個元素。
array輸入的數(shù)組。
callback在第一個參數(shù)小于,等于或大于第二個參數(shù)時,該比較函數(shù)必須相應(yīng)地返回一個小于,等于或大于 0 的整數(shù)。
總是返回 true 。
| 版本 | 說明 |
|---|---|
| 8.0.0 |
如果 callback 接受引用傳遞參數(shù),該方法將會拋出
E_WARNING。
|
示例 #1 uasort() 的基本例子
<?php
// 比較函數(shù)
function cmp($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
// 要排序的數(shù)組
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
print_r($array);
// 排序并打印排序后的數(shù)組
uasort($array, 'cmp');
print_r($array);
?>
以上例程會輸出:
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
)