主要用到兩個函數:
1.array_column() 返回輸入數組中某個單一列的值。php版本5.5以后自帶
這里提供個php版本低於5.5的兼容方式
if (!function_exists('array_column')) { function array_column($input, $column_key=null, $index_key=null) { $result = array(); $i = 0; foreach ($input as $v) { $k = $index_key === null || !isset($v[$index_key]) ? $i++ : $v[$index_key]; $result[$k] = $column_key === null ? $v : (isset($v[$column_key]) ? $v[$column_key] : null); } return $result; } }
2.array_multisort() 函數返回排序數組。您可以輸入一個或多個數組。函數先對第一個數組進行排序,接着是其他數組,如果兩個或多個值相同,它將對下一個數組進行排序。
具體代碼:[代碼取自:https://www.cnblogs.com/wenzheshen/]
<?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); ?>
參考文檔: