【发布时间】:2016-02-04 14:59:12
【问题描述】:
我正在使用 uasort 对如下所示的数组进行排序:
Array
(
[2] => 0
[3] => 0
[4] => 0
)
我正在尝试按值排序,保持键关联。另外,如果值相同,我需要保持原始顺序。
所以我正在做以下事情:
uasort($arr, array($this, 'mysort'));
function mysort($a, $b){
if($a == $b){
return 0;
}
return ($a < $b) ? -1:1;
}
但是,这给出了结果数组:
Array
(
[4] => 0
[3] => 0
[2] => 0
)
为什么数组被有效地反转了?
【问题讨论】:
-
PHP 5.x here 和these are the values 当PHP 5.x 和7 的元素相等时返回。我添加了一个函数来检查版本并相应地返回正确的整数。否则,如果您的代码必须在两个版本上运行,那么您就搞砸了。 Tests running on 5+7