的差异进行排序
我有一个数组,其中包含从两次执行中获得的统计值及其差异。统计数据的名称是关键,我不知道。我想维护索引关联
就像这个
$array["statistic_name_1"][0] = 5
$array["statistic_name_1"][1] = 4
$array["statistic_name_1"][2] = 1
$array["statistic_name_2"][0] = 10
$array["statistic_name_2"][1] = 4
$array["statistic_name_2"][2] = 6
$array["statistic_name_3"][0] = 15
$array["statistic_name_3"][1] = 10
$array["statistic_name_3"][2] = 5
我想根据执行的差异(这就是[键][2])对其进行数字降序排序
我已经尝试过asort,但我找不到一种方法来告诉它根据
试试这样的东西:
function cmp($a, $b)
{
return $b[2] - $a[2]
}
uasort($array, "cmp");
http://www.php.net/manual/en/function.uasort.php
要将所有内容放在一条线上,您可以执行以下操作:
uasort($array, function($a, $b){ return $b[2] - $a[2] });
使用uasort
维护密钥关联
uasort($array,function ($a,$b){
if ($a[2] == $b[2]) {
return 0;
}
return ($a[2] > $b[2]) ? -1 : 1;
});