Сумма многомерного ассоциативного массива PHP

Array ( [Sum_1] => Array ( [0] => Array ( [e] => 1000001 [u] => Test1 [a] => 775.00 ) [1] => Array ( [e] => 26 [u] => Test2 [a] => 555.00 ) ) [Sum_2] => Array ( [0] => Array ( [e] => 1000001 [u] => Test1 [a] => 110.00 ) ) [Sum_3] => Array ( [0] => Array ( [e] => 1000001 [u] => Test1 [a] => 444.00 ) ) ) 

Я хочу преобразовать выше массив в нечто вроде ниже. Нужно ли использовать foreach или может array_sum сделать это?

 Array ( [Sum_1] => 1330.00 [Sum_2] => 110.00 [Sum_3] => 444.00 ) 

(Я хочу получить сумму элемента [a] каждого раздела с именем Sum_1, Sum_2, Sum_3) Спасибо за вашу помощь!

Вы можете сделать так:

 $ret = array_map(function($val) { return array_sum(array_map(function($val) { return $val['a']; }, $val)); }, $array); 

До php 5.4:

 function a_getter($val) { return $val['a']; } $ret = array_map(function($val) { return array_sum(array_map('a_getter', $val)); }, $array); 

используя цикл foreach вы можете попробовать это

 $sums=array(); foreach($ArrayOfSums as $Offset=>$ArrayOfResults){ foreach($ArrayOfResults as $ResultOffset=>$Result){ $sums[$Offset]+=$Result["a"]; } }