利用array_multisort()给二维数组排序

先看例子:

$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);

运行结果:
利用array_multisort()给二维数组排序_第1张图片
显然数组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);

运行结果:
利用array_multisort()给二维数组排序_第2张图片

你可能感兴趣的:(后台开发)