利用array_multisort()給二維陣列排序
阿新 • • 發佈:2018-12-24
先看例子:
$a=array(8,5,6,1,5,2);
$b=array('b','s','d','z','g','r');
array_multisort($a,$b);
var_dump($a);
var_dump($b);
執行結果:
顯然陣列b是按照了陣列a的排列順序排序的,不過前提是兩個陣列的元素個數必須相同。
根據這一點,可以利用array_multisort()來排序二維陣列:
$a=array(
array('key'=>'dfga','value'=>52),
array('key'=>'sag','value'=>42 ),
array('key'=>'garc','value'=>92),
array('key'=>'xfsa','value'=>82),
array('key'=>'afg','value'=>32)
);
var_dump(array_column($a,'value'));
array_multisort(array_column($a,'value'),SORT_DESC,$a);
var_dump($a);
執行結果: