2016-04-13 158 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);