PHP二维数组排序

   以前遇到二维数组排序的问题都是自己写排序函数,今天遇到一个二维数组排序问题,就想简单一点,网上找了一圈,没发现比较简单的写法,研究了一下PHP自带的函数,发现只使用`array_multisort`这个函数就可以实现二维数组排序,下面是示例:

/**
 * 胡荣桓 <[email protected]>
 * 2018-06-05
 */

//示例数组
$arrUsers = array(
      array(
             'id'   => 1,
             'name' => '张三',
             'age'  => 25,
     ),
     array(
             'id'   => 2,
             'name' => '李四',
             'age'  => 23,
     ),
     array(
             'id'   => 3,
             'name' => '王五',
             'age'  => 40,
     ),
     array(
             'id'   => 4,
             'name' => '赵六',
             'age'  => 31,
     ),
     array(
             'id'   => 5,
             'name' => '黄七',
             'age'  => 20,
     ),
 );
//$arrUsers 待排序参数,`age` 二维数组字段
//根据年龄排序 ,如果要降序排序,则第二个参数改为`SORT_DESC`
//亦可根据字符串排序,只需在`SORT_ASC`后添加参数 `SORT_STRING`
array_multisort(array_column($arrUsers, 'age'),SORT_ASC,$arrUsers);

print_r($arrUsers);

下面是输出结果:

Array

(

    [0] => Array

        (

            [id] => 5

            [name] => 黄七

            [age] => 20

        )

    [1] => Array

        (

            [id] => 2

            [name] => 李四

            [age] => 23

        )

    [2] => Array

        (

            [id] => 1

            [name] => 张三

            [age] => 25

        )

    [3] => Array

        (

            [id] => 4

            [name] => 赵六

            [age] => 31

        )

    [4] => Array

        (

            [id] => 3

            [name] => 王五

            [age] => 40

        )

)

猜你喜欢

转载自www.cnblogs.com/huronghuan/p/9141168.html
今日推荐