array_multisort() 不修改第一个参数中的数组

问题描述 投票:0回答:1

我正在尝试按

$ar1
的降序值对
$ar2
进行排序。什么都没有发生。

$ar1 = array($arperc);
$ar2 = array($arid);
array_multisort($ar1, $ar2);
print_r($ar1);

我错过了什么?

php arguments array-multisort
1个回答
2
投票

如果要使用

$ar2
的元素作为排序键,需要将参数的顺序改为
array_multisort

array_multisort($ar2, $ar1);

这将按升序对

$ar2
进行排序,并且还会更改
$ar1
元素的顺序,就像
$ar2
的顺序被排序更改一样。要将顺序更改为降序:

array_multisort($ar2, SORT_DESC, $ar1);
© www.soinside.com 2019 - 2024. All rights reserved.