数组求和,有多少种方法 [ 未指定版本 ]
$arr = array(
array(
'a' => '4',
'b' => '13',
'c' => '2',
'd' => '5',
),
array(
'a' => '1',
'b' => '2',
'c' => '3',
'd' => '4',
),
);
我想求得到
array(
'a' => 'a的和',
'b' => 'b的和',
'c' => 'c的和',
'd' => 'd的和',
)
共 5 个回答
-
sgj773624926 回答于 2016-07-23 21:04 举报
说两种我觉得比较优雅的方法吧,其实也可以算作一种~~
$init = array( 'a' => '0', 'b' => '0', 'c' => '0', 'd' => '0', ); // 方法一 $result = array_reduce($arr, function($prev, $next) { return array( 'a' => $prev['a'] + $next['a'], 'b' => $prev['b'] + $next['b'], 'c' => $prev['c'] + $next['c'], 'd' => $prev['d'] + $next['d'] ); }, $init); // 方法二 $keys = ['a', 'b', 'c', 'd']; $result = array_reduce($arr, function($prev, $next) use($keys) { $sumResult = []; foreach ($keys as $key) { $sumResult[$key] = $prev[$key] + $next[$key]; } return $sumResult; }, $init);
acking 上海
注册时间:2012-05-16
最后登录:2024-05-25
在线时长:65小时55分
最后登录:2024-05-25
在线时长:65小时55分
- 粉丝13
- 金钱2565
- 威望0
- 积分3215