php实例分享之二维数组排序

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


);



SyntaxHighlighter.highlight();