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






原文地址:https://www.cnblogs.com/hehexu/p/9114808.html