根據二維陣列中的某個欄位進行排序,陣列函式array_multisort()
阿新 • • 發佈:2019-02-18
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); ?>