shiny
2012-10-21 13:31:38 +08:00
追求短小的话,PHP 可以是:
usort($items,function($a, $b){
return $a['a']==$b['a'] ? bccomp($a['b'],$b['b']) : bccomp($b['a'],$a['a']);
});
但是后面谁来维护这程序可能会骂了……
所以正常项目中我会这么写:
//兼容个别未开启 bcmath 的环境
if(!function_exists('bccomp')){
function bccomp($a,$b){
if($a==$b){
return 0;
} else if($a>$b){
return 1;
} else {
return -1;
}
}
}
function sort_items($a, $b){
if($b['a']==$a['a']){
return bccomp($a['b'],$b['b']);
} else {
return bccomp($b['a'],$a['a']);
}
}