<?php
function re($a,$b){
return ($a>$b)?1:-1;
}
$x=array(1,3,2,5,9);
usort($x, 're');
print_r($x);
die();
?>
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 5 [4] => 9 )
<?php
function re($a,$b){
return ($a<$b)?1:-1;
}
$x=array(1,3,2,5,9);
usort($x, 're');
print_r($x);
die();
?>
Array ( [0] => 9 [1] => 5 [2] => 3 [3] => 2 [4] => 1 )
使用usort对多维数组进行排序
<?php
function cmp($a, $b)
{
//strcmp是string compare 字符串比较的缩写,
//用来比较两个字符串大小
//$a,$b用来接收数组第一维,如 $a = $cities[0]
return strcmp($a["city"], $b["city"]);
}
//创建一个二维数组
$cities[0]["city"] = "shanghai";
$cities[1]["city"] = "beijing";
$cities[2]["city"] = "tianjin";
$cities[3]['city'] = 'chongqing';
usort($cities, "cmp");
print_r($cities); //输出二维数组$cities的值
?>
print_r的显示结果为
Array ( [0] => Array ( [city] => beijing ) [1] => Array ( [city] => chongqing ) [2] => Array ( [city] => shanghai ) [3] => Array ( [city] => tianjin ) )
,可知4个城市名称已经按字母的升序进行了排序, 即
$cities[0]['city'] => beijing
$cities[1]['city'] => chongqing
$cities[2]['city'] => shanghai
$cities[3]['city'] => tianjin