例如这个二维关联数组:
$list = array(
array(
'id' => 1,
'name' => '张三',
'age' => 25,
),
array(
'id' => 2,
'name' => '李四',
'age' => 23,
),
array(
'id' => 3,
'name' => '王五',
'age' => 40,
),
array(
'id' => 4,
'name' => '赵六',
'age' => 31,
),
array(
'id' => 5,
'name' => '黄七',
'age' => 20,
),
);
$sort = array_column($list, 'age');
array_multisort($sort, SORT_DESC, $list);
var_dump($list);
得到的就是按年龄倒序好的数组,还有正序SORT_ASC。
array_column() 返回输入数组中某个单一列的值。
array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。
注释:字符串键名将被保留,但是数字键名将被重新索引,从 0 开始,并以 1 递增。
注释:您可以在每个数组后设置排序顺序和排序类型参数。如果没有设置,每个数组参数会使用默认值。
具体的参考:http://www.w3school.com.cn/php/func_array_multisort.asp
欢迎关注微信订阅号:phpstory