我想对多维数组的每一行求和:
$number = array
(
array(0.3,0.67, 0.3),
array(0.3,0.5,1),
array(0.67,0.67,0.3),
array(1,0.3,0.5)
);
我想要的结果是这样的:
row1 = 1.27
row2 = 1.8
row3 = 1.64
row4 = 1.8
我已经尝试过这段代码:
for($i = 0; $i < 4; $i++) {
for($j = 0; $j < 5; $j++) {
$sumresult[] = array_sum($number[$i][$j]);
}
}
但它似乎是这样的错误:
警告:array_sum()期望参数1为数组,在xxxx中给出双倍
答案 0 :(得分:2)
array_sum
需要数组而不是值。这样做:
for($i = 0; $i < 4; $i++) {
$sumresult[] = array_sum($number[$i]);
}
答案 1 :(得分:0)
因为你传递的是一个值,而不是包含它的数组。
一个正确的解决方案是:
$sumResult = array();
foreach($number as $values){
$sumResult []= array_sum($values);
}
print_r($sumResult);
应该做的伎俩;)
答案 2 :(得分:0)
将array_sum()
函数映射到数组以便对内部数组求和更容易:
$sumresult = array_map('array_sum', $number);