首先了解下以下两个函数:
1.array_column() 返回输入数组中某个单一列的值。
2.array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多
个值相同,它将对下一个数组进行排序。
具体实现代码实例:
<?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); ?>
2.方法
/** * 二维数组按照键值降序排序 * @param array $arr 待排序数组 * @param string $key 键值 * @return mixed */ function sortByKeyDesc($arr, $key) { array_multisort(array_column($arr, $key), SORT_DESC, $arr); return $arr; }