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

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

根据二维数组中的某个字段进行排序,数组函数array_multisort()_第1张图片

 

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

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

根据二维数组中的某个字段进行排序,数组函数array_multisort()_第2张图片

 

 具体来实现的例子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:

 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);
?>

 

你可能感兴趣的:(数组)