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