2016-04-13 106 views
0

我要总结多维数组的每一行:总和多维数组的每一行

$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中给出

回答

2

array_sum需求阵列没有值。像这样:

for($i = 0; $i < 4; $i++) { 
    $sumresult[] = array_sum($number[$i]); 
} 
+0

谢谢!我一直坚持了一个小时! :) – lacyeex

+0

很高兴我帮你:) – Thamilan

0

它是因为你传递的是一个值而不是包含它的数组。

一个正确的解决办法是:

$sumResult = array(); 

foreach($number as $values){ 
    $sumResult []= array_sum($values); 
} 

print_r($sumResult); 

应该做的伎俩;)

0

它更容易只是array_sum()功能映射到阵列总结内部数组:

$sumresult = array_map('array_sum', $number);