php数组函数很强大,封装的数组操作函数也有很多。有很大一部分,日常开发中用的很少。平时遇到二维数组,想要根据其中某一个键值做排序,一般会用遍历处理。
使用两个系统函数就可以很好的解决这一问题。
例: 一个二维数组,要根据键值 num 做倒序排列:
$arr = array(
array(
'测试1',
'num'=>6
),
array(
'测试2',
'num'=>2
),
array(
'测试3',
'num'=>5
),
array(
'测试4',
'num'=>1
),
array(
'测试5',
'num'=>3
)
);
array_multisort(array_column($arr,'num'),SORT_DESC,$arr);
var_dump($arr);
输出:
array(5) {
[0]=>
array(2) {
[0]=>
string(7) "测试1"
["num"]=>
int(6)
}
[1]=>
array(2) {
[0]=>
string(7) "测试3"
["num"]=>
int(5)
}
[2]=>
array(2) {
[0]=>
string(7) "测试5"
["num"]=>
int(3)
}
[3]=>
array(2) {
[0]=>
string(7) "测试2"
["num"]=>
int(2)
}
[4]=>
array(2) {
[0]=>
string(7) "测试4"
["num"]=>
int(1)
}
}