0

I have the following array:

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

I would like to sort the first level array by the sums of the second level. Code so far is:

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

This sorts the array, but reindexes the keys, which are the pid value from a database, and needs to be retained after the sort.

Or should I add the pid as a value and not a key? If so, can pointers be provided?

RiggsFolly
  • 83,545
  • 20
  • 96
  • 136
jingo_man
  • 367
  • 1
  • 11

0 Answers0