$ar[1], SORT_NUMERIC, SORT_DESC);
?>
本例中经过排序后,第一个数组将包含
10,100,100,"a"(作为字符串上升排序),
第二个数组将包含
1,3,"2",1(作为数值下降排序)。
PHP 数组排序函数很多,也很强大
如:
arsort,asort,krsort,ksort,sort…
但有时候还是满足不了我们的需求
假如有一个二维数组,我们要按二维数组中的一个值来排序
就需要用到了
usort 自定义数组排序
例子如下:
代码如下
<?php
$aa = array (array ("score"=>60),
array ("score"=>70),
array ("score"=>80),
array ("score"=>90),
array ("score"=>20),
array ("score"=>10),
array ("score"=>50),
array ("score"=>30));
echo '------排序前输出------<br />';
var_dump($aa); // 排序前输出
usort($aa, "cmp"); // 排序处理(从大到小)
echo '<br />------排序后输出------<br />';
var_dump($aa); // 排序完输出
/**
* 自定义排序条件
* @param array $a
* @param array $b
* @return bool
*/
function cmp($a, $b) {
if ($a["score"] == $b["score"]) {
return 0;
}
return ($a["score"] < $b["score"]) ? 1 : -1;
}