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 循环输出排序后的数组。