php usort

时间:2023-03-09 02:19:23
php usort
<?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