Php 多维数组中的和值
我想对以下数组的值求和 我想通过累加将相同的项目分组,输出格式也将是一个数组Php 多维数组中的和值,php,arrays,Php,Arrays,我想对以下数组的值求和 我想通过累加将相同的项目分组,输出格式也将是一个数组 Array ( [0] => Array ( [0] => Array ( [0] => R421_FD03 [1] => 1 ) [1] => Array
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
)
)
)
您可以将simple
foreach()
应用于array\u values()
输出:-您可以使用带有splat运算符的
数组\u merge
,然后遍历数组
$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
)
@琼很高兴帮助你
Array
(
[R421_FD03] => 3
[R421_FD02] => 1
)