根据二维数组中的某个字段进行排序,数组函数array_multisort()

1.array_column() 返回输入数组中某个单一列的值。

 

2.array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多

个值相同,它将对下一个数组进行排序。

 

 具体来实现的例子1:

$resme_lists = 
Array
(
    [0] => Array
        (
            [status] => 6
            [create_time] => 2018-11-26 17:01:13
        )

    [1] => Array
        (
            [status] => 1
            [create_time] => 2018-11-26 16:49:18
        )

    [2] => Array
        (
            [status] => 3
            [create_time] => 2018-11-12 16:17:17
        )

    [3] => Array
        (
            [status] => 8
            [create_time] => 2018-07-22 22:28:25
        )

);//这是我从表里查出来的数据

  //把时间变成时间戳
  foreach ($resme_lists as $k=>$v){
      $resme_lists[$k]['create_time'] = strtotime($v['create_time']);
  }
 //进行排序
  $last_names = array_column($resme_lists,'create_time');
  array_multisort($last_names,SORT_DESC,$resme_lists);

  //变回时间格式
  foreach ($resme_lists as $k=>$v){
  $resme_lists[$k]['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
  }


具体来实现的例子2:

<?php
$data = array(
  array(
    'id' => 5698,
    'first_name' => 'Bill',
    'last_name' => 'Gates',
  ),
  array(
    'id' => 4767,
    'first_name' => 'Steve',
    'last_name' => 'Aobs',
  ),
  array(
    'id' => 3809,
    'first_name' => 'Mark',
    'last_name' => 'Zuckerberg',
  )
);

//根据字段last_name对数组$data进行降序排列
$last_names = array_column($data,'last_name');
array_multisort($last_names,SORT_DESC,$data);

var_dump($data);
?>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值