PHP uasort() 函數(shù)用于對數(shù)組進行排序,根據(jù)數(shù)組的值使用用戶自定義的比較函數(shù)進行排序?;卣{函數(shù)應該接受兩個參數(shù),比較兩個值并返回一個整數(shù),表示它們的順序。如果第一個值應該排在第二個值之前,則返回一個負數(shù);如果第一個值應該排在第二個值之后,則返回一個正數(shù);如果它們相等,則返回 0。
下面是一個使用回調函數(shù)對數(shù)組進行排序的例子:
$fruits = array(
"apple" => 4,
"orange" => 2,
"banana" => 3
);
// 自定義的比較函數(shù)
function cmp($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
// 對數(shù)組按值進行排序
uasort($fruits, 'cmp');
foreach ($fruits as $key => $value) {
echo "$key = $value\n";
}
在這個例子中,我們定義了一個名為 cmp() 的函數(shù)作為回調函數(shù),用于比較數(shù)組的值。然后我們使用 uasort() 函數(shù)對 $fruits 數(shù)組按值進行排序,并傳入 cmp() 函數(shù)作為回調函數(shù)。最后使用 foreach 循環(huán)輸出排序后的數(shù)組。