一个二维数组,根据数组中的某一项来进行排序,其实有很多做法,冒泡排序是我最想想到的方法。但是php本身提供了一个不错的方法array_multisort(),但用起来并不是那么的方便,需要额外做不少工作,于是我自己封装了一个方法,可以非常方便的使用这个方法,代码如下:
function arrayMultisort($array, $key, $arg=SORT_ASC)
{
$new_arr = array_map(function($arr) use ($key){
return $arr[$key];
}, $array);
array_multisort($new_arr, $arg, $array);
return $array;
}
调用示例:
$arr_users = array(
array('id' => 1,'name' => '小一','age' => 55,),
array('id' => 2,'name' => '小二','age' => 43,),
array('id' => 3,'name' => '小三','age' => 20,),
array('id' => 4,'name' => '小四','age' => 11,),
array('id' => 5,'name' => '小五','age' => 25,),
);
$new_arr = arrayMultisort($arr_users, 'age', SORT_DESC);
var_dump($new_arr);