zoukankan      html  css  js  c++  java
  • 用PHP自带函数对二维数组进行排序

            经常会面临这样的需求,虽然有时候我们可以在数据库查询的时候,直接对数据进行排序,但还是无法满足日益复杂的业务需求。

    这里边会用到两个函数

    一个是array_column()函数,这个函数接受三个参数。详情参见这里

    是从二维数组中抽出一个键的值,作为一个新的数组返回。

    另一个是array_multisort()函数,这个函数是一个排序函数,详情参见这里
    它会依照第一个参数数组的排序规则,依照第一个参数数组的值在第三个参数重的位置对第三个参数进行排序。

    听不明白吧?听不明白就对了,还是直接看代码来的实在:


    $orgin = array(
      array(
        'id' => 5698,
        'first_name' => 'Bill',
        'last_name' => 'Gates',
      ),
      array(
        'id' => 4767,
        'first_name' => 'Steve',
        'last_name' => 'Jobs',
      ),
      array(
        'id' => 3809,
        'first_name' => 'Mark',
        'last_name' => 'Zuckerberg',
      )
    );
    
    $idArr = array_column($orgin, 'id');
    array_multisort($idArr,SORT_ASC,$orgin);
    var_dump($orgin);

    这个打印的结果是:

    array (size=3)
      0 => 
        array (size=3)
          'id' => int 3809
          'first_name' => string 'Mark' (length=4)
          'last_name' => string 'Zuckerberg' (length=10)
      1 => 
        array (size=3)
          'id' => int 4767
          'first_name' => string 'Steve' (length=5)
          'last_name' => string 'Jobs' (length=4)
      2 => 
        array (size=3)
          'id' => int 5698
          'first_name' => string 'Bill' (length=4)
          'last_name' => string 'Gates' (length=5)

    这下是不是就明朗的多了?


  • 相关阅读:
    03.《架构漫谈》阅读笔记
    02.《架构漫谈》阅读笔记
    03.《架构之美》阅读笔记
    02.《架构之美》阅读笔记
    01.《架构之美》阅读笔记
    软件架构中的质量属性--以淘宝网为例(小论文)
    MVC框架介绍分析
    论面向服务架构设计及其应用
    1.26学习进度总结
    1.24学习进度总结
  • 原文地址:https://www.cnblogs.com/haorenergou/p/11665054.html
Copyright © 2011-2022 走看看