PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义。
方法一:(经验证,成功)
作用:对二维数组进行指定key排序
参数:$arr 二维数组 ,$shortKey 需要排序的列,$short 排序方式 $shortType 排序类型
function multi_array_sort($arr,$shortKey,$short=SORT_DESC,$shortType=SORT_REGULAR)
{
foreach ($arr as $key => $data){
$name[$key] = $data[$shortKey];
}
array_multisort($name,$shortType,$short,$arr);
return $arr;
}
方法二:是对一个给定的二维数组按照指定的键值进行排序
function array_sort($arr,$keys,$type='asc'){
$keysvalue = $new_array = array();
foreach ($arr as $k=>$v){
$keysvalue[$k] = $v[$keys];
}
if($type == 'asc'){
asort($keysvalue);
}else{
arsort($keysvalue);
}
reset($keysvalue);
foreach ($keysvalue as $k=>$v){
$new_array[$k] = $arr[$k];
}
return $new_array;
}