PHP一維數組的排序可以用sort(),asort(),arsort()等函數;
PHP二維數組的排序需要自定義。
以下函數是對一個給定的二維數組按照指定的鍵值進行排序,先看函數定義:
復制代碼 代碼如下:
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);
$index = 0;//保存下標不變用$k,下標從0開始就用$index;
foreach ($keysvalue as $k=>$v){
$new_array[$index] = $arr[$k];
$index++;
}
return $new_array;
}
它可以對二維數組按照指定的鍵值進行排序,也可以指定升序或降序排序法(默認為升序),用法示例:
復制代碼 代碼如下:
$array = array(
array('name'=>'Js','date'=>'2014-05-01'),
array('name'=>'Sh','date'=>'2014-04-30'),
array('name'=>'Bj','date'=>'2014-05-02')
);
$arrayList = array_sort($array,'date');
print_r($arrayList);