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;?
}?