一个二维数组,根据数组中的某一项来进行排序,其实有很多做法,冒泡排序是我最想想到的方法。但是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);