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)
}
}