我正在使用PHP,并且我有一个数组
$nnarray = Array (
[9] => Array (
[1] => Array (
[2] => 433
[6] => 2
[4] => 101
)
[3] => Array (
[6] => 999
)
)
[14] => Array (
[2] => Array (
[2] => 0
[6] => 2
)
)
)如何通过index键将其全部相加?输出结果如下所示
Array (
[9] => 1535
)
[14] => 2
)
)1535 = 433+2+101+999 ([9]下的所有值)
现在我使用下面的脚本来得到结果,有没有其他有效的方法?
foreach($nnarray as $key => $value){
foreach($nnarray[$key] as $nkey => $nvalue){
foreach($nnarray[$key][$nkey] as $nnkey => $nnvalue){
$newarray[$key] = $newarray[$key]+$nnvalue;
}
}
}
print_r($newarray);发布于 2021-06-12 11:31:55
较短版本,需要>= PHP7.4.0
地图总和=>地图总和
$result = array_map(fn($v) => array_sum(array_map(fn($v) => array_sum($v), $v)), $data);结果:
Array
(
[9] => 1535
[14] => 2
)https://stackoverflow.com/questions/67945210
复制相似问题