PHP-排序数组但保留索引键

时间:2020-06-03 21:42:58

标签: php usort

我有以下数组:

Array ( 
    [159] => Array ( [0] => 46 ) 
    [192] => Array ( [0] => 32.2 
                     [1] => 12.3 ) 
    [80] => Array ( [0] => 13.8 ) 
    [328] => Array ( [1] => 41 ) 
    [32] => Array ( [1] => 28.7 ) 
)

我想按第二级的总和对第一级数组进行排序。到目前为止的代码是:

function compare_array_sum_desc($a, $b) {
    if (array_sum($a) == array_sum($b)) {
        return 0;
    }
    return (array_sum($a) < array_sum($b)) ? 1 : -1;
}

usort($results, 'compare_array_sum_desc');

这将对数组进行排序,但是会重新索引键(它们是数据库中的pid值),并且需要在排序后保留。

还是应该添加pid作为值而不是键?如果可以,可以提供指针吗?

0 个答案:

没有答案