php array_column 和array_multisort函数实现按某一字段对二维数组进行排序

在工作中碰到一个页面如表格似的展示多条数据,要求根据其中的修改时间对数据进行排序,

数据格式类似于 

$a = array(

  0=>array(

    editTime=>''

    addTime=>''

    )

  1=>array(

      editTime=>''

      addTime=>''

     )


 

  )

如果要让自己写的话,估计得新建一个数组,然后通过对修改时间进行冒泡排序,完成数组排序

而PHP 提供的array_multisort这个函数很强大,他可以同时输入多个数组,对第一个数组的排序操作,将会作用于后续数组,由此我们可以先取出修改时间

作为一个数组,对其进行值降序(或升序)排序,然后就可以影响原来的数组以完成排序目的。

示例:

$a = array(

  0=>array(

    editTime=>17

    addTime=>15

    )

  1=>array(

      editTime=>19

      addTime=>16

     )

  )

利用array_column取出修改时间的值

$editTime = array_column($a, 'editTime');

 

array_multisort($editTime, SORT_DESC , SORT_NUMERIC, $a);

结果

editTime = array(19, 17);

$a = array(

  0=>array(

      editTime=>19

      addTime=>18

    )

  1=>array(

    editTime=>17

    addTime=>15

     )

  )

 

一些关于这个函数的具体描述可以在这里找到http://www.php.net/manual/zh/function.array-multisort.php

转载于:https://www.cnblogs.com/tpwBlog/p/8654404.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值