zoukankan      html  css  js  c++  java
  • 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);

    下面是输出结果:

    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

            )

    )

  • 相关阅读:
    一步一步学EF系列二【Fluent API的方式来处理实体与数据表之间的映射关系】
    EntityFramework 6 开篇
    DOS For循环
    mysql中查看所有表、表字段、表注释、字段注释
    灾备还原之gitlab
    JavaScript 实现继承的5种方式
    HBuilder完成webApp入门(5) 实例
    HBuilder完成webApp入门(4) 实例
    HBuilder完成webApp入门(3) 关于webview (转)
    HBuilder完成webApp入门(2)
  • 原文地址:https://www.cnblogs.com/huronghuan/p/9141168.html
Copyright © 2011-2022 走看看