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

  );

  $arrayList = array_sort($array,'date');

  print_r($arrayList);