2014-02-12 60 views
-2

即時通訊數做作業,我已經試着這樣做代碼,但它似乎不是很好,我的作業是讓那些高於0SUM高於0

<?PHP 
$b=array (1,2,-3,0,7,25,0,42,1,-10); 
$s=0; $BUB=0; 
for($BUB=0;$BUB=10;$BUB++) 
{ 
    if($b>0){ 
     $s=$s+$b;} [$bub=0]; 
     $BUB++; 

} 
echo "suma je $s" ; 

?> 
+0

什麼是'[$ BUB = 0];'? –

+0

不需要擔心。如果您將值加0,則不會發生。 120 + 0 = 120總是 – underscore

+0

它是類似於計數器 –

回答

0
$sum = 0; 
foreach(array (1,2,-3,0,7,25,0,42,1,-10) as $num) { 
    if($num > 0) { 
    $sum += $num; 
    } 
} 
+0

很高興你爲他做功課,而不需要他學習任何東西。真的,是的。 – Populus

+0

他問了嗎?!我們爲什麼要否定一個問題?! – serjoscha

+0

「他問安全套,儘管他只有12個」 – Populus

1
數之和
$b=array (1,2,-3,0,7,25,0,42,1,-10); 

$r = array_sum(
    array_filter(
     $b, 
     function ($value) { 
      return $value > 0; 
     } 
    ) 
); 
var_dump($r); 

$b=array (1,2,-3,0,7,25,0,42,1,-10); 

$r = array_reduce(
    $b, 
    function($adder, $value) { 
     return $adder += ($value > 0) ? $value : 0; 
    } 
); 
var_dump($r); 
+0

備註:如果您使用這個(非常好的)解決方案,我想承認自PHP 5.3.0起可以使用匿名函數。因此,運行一個較舊的PHP版本會迫使你聲明這個函數,並用它的名字來引用它,而不是使用內聯代碼:) – serjoscha

+1

當然@serjoscha但是現在沒有人應該運行比PHP 5.3更少的東西,只有頑固的舊的風格的代碼風扇應該運行小於5.4的任何東西:) –

+0

我同意這一點。只是想提到它:) – serjoscha