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);