PHP二维数组排序

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

/**
 * 胡荣桓 <huronghuan@hongboict.com>
 * 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);

下面是输出结果:函数

Arrayspa

(code

    [0] => Arrayblog

        (排序

            [id] => 5字符串

            [name] => 黄七class

            [age] => 20sort

        )二维数组

 

    [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

        )

 

)

相关文章
相关标签/搜索