PHP二维数组根据某个字段排序

2016-2-16 liyangweb.com 李杨 PHP

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


标签: PHP

发表评论:

Powered by emlog 冀ICP备13011830号-1