我基本上想通过添加到前一个值来更改多维数组的值。
示例:
$arr=array(1,2,3);
foreach($arr as $val){
$arrTotal[1][2][3]=$val;
}
这将使$ arrTotal [1] [2] [3] = 3
我真正想要的是$ arrTotal [1] [2] [3] = 6
3 + 2 + 1
我尝试过这样的方法:
$arrTotal[1][2][3]+=$val;
但无济于事。
答案 0 :(得分:8)
最简单的方法:
$arr = array(1,2,3);
$arrTotal[1][2][3] = array_sum($arr);
答案 1 :(得分:1)
更一般的解决方案:
<?php
function hierarchical_array_sum(array $arr) {
$parent = null;
$current = $total = new ArrayObject;
foreach ($arr as $val) {
$parent = $current;
$current = $current[$val] = new ArrayObject;
}
if ($parent !== null) {
$parent[$val] = array_sum($arr);
}
$total = json_decode(json_encode($total), true);
}
var_dump(hierarchical_array_sum(array(1, 2, 3, 4, 5, 6, 7)));
答案 2 :(得分:0)
$arrTotal[1][2][3] = 0;
foreach($arr as $val){
$arrTotal[1][2][3] = $arrTotal[1][2][3] + $val;
}