我想对以下数组的值求和我想通过累加它们来对相同的项目进行分组,输出格式也将是一个数组Array( [0] => Array ( [0] => Array ( [0] => R421_FD03 [1] => 1 ) [1] => Array ( [0] => R421_FD03 [1] => 1 ) ) [1] => Array ( [0] => Array ( [0] => R421_FD03 [1] => 1 ) [1] => Array ( [0] => R421_FD02 [1] => 1 ) ))我测试了这段代码,但结果不是我正在等待的:$sumArray = array(); array_walk_recursive($data, function($item, $key) use (&$sumArray){ $sumArray[$key] = isset($sumArray[$key]) ? $item + $sumArray[$key] : $item; });我等待的结果是这个Array( [0] => Array ( [0] => R421_FD03 [1] => 3 ) [1] => Array ( [0] => R421_FD02 [1] => 1 ) ))
2 回答

Qyouu
TA贡献1786条经验 获得超11个赞
您可以使用array_mergesplat 运算符,然后遍历数组
$merged = array_merge(...$arr);//splat operator
$r = [];
array_walk($merged, function($v,$k) use(&$r){
array_key_exists($v['0'], $r) ? ($r[$v[0]] += $v['1']) : ($r[$v[0]] = $v[1]);
});
print_r($r);
结果 :-
Array
(
[R421_FD03] => 3
[R421_FD02] => 1
)
- 2 回答
- 0 关注
- 196 浏览
添加回答
举报
0/150
提交
取消