多维关联数组PHP的总和

Thi*_*ili 1 php foreach associative-array multidimensional-array

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 
                        ) 
                ) 
)  
Run Code Online (Sandbox Code Playgroud)

我想将上面的数组转换为类似下面的内容.我是否需要使用foreach或者array_sum可以这样做吗?

Array 
    ( 
        [Sum_1] => 1330.00
        [Sum_2] => 110.00
        [Sum_3] => 444.00
     )  
Run Code Online (Sandbox Code Playgroud)

(我想得到名为Sum_1,Sum_2,Sum_3的每个部分的元素[a]的总和)感谢您的帮助!

xda*_*azz 6

你可以这样做:

$ret = array_map(function($val) {
  return array_sum(array_map(function($val) {
     return $val['a'];
  }, $val));
}, $array);
Run Code Online (Sandbox Code Playgroud)

在PHP 5.4之前:

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