2014-11-23 147 views
0

我是PHP的初學者,我被賦予打印出諧波系列的任務。通過我的工作,您可以看到我已經打印出諧波系列的正確算法,但我似乎無法找到將其全部添加的方法。在php中計算總和

$total = 0; 

if ($f1 = "proof") { 
    $i = $_GET["i"]; 

    for($j= 1;$j<=$i;$j++) { 
     $total = $total +(1/$j); 
    } 
echo $total; 

感謝您的時間


謝謝!有效!以下是我用

$i = 3; 
$total = 0; 

for($j= 1; $j<=$i ;$j++){ 

    $total += $j/($j + 1); 
} 
echo $total; 
+0

該代碼看起來像它應該工作對我來說。當你運行它會發生什麼? – lemiant 2014-11-23 01:22:46

+1

你可以嘗試'if($ f1 ===「proof」)' – lighter 2014-11-23 01:23:34

+0

關於你的編輯,這是如何工作的?它增加了「1/2 + 2/3 + 3/4」。 – irrelephant 2014-11-23 01:26:37

回答

0

下面是一個較短的版本:

<?php 

    $total = 0; 
    foreach(range(1, 3) as $v) 
     $total += $v/($v+1); 
    echo $total; 

?> 

輸出:

1.9166666666667 

BTW:在你的if語句,你做任務!你不要比較!你將不得不使用== OR ===

+0

雖然'$ total = $ total + ____'很好嗎? – irrelephant 2014-11-23 01:21:23

0

正如在評論中提到的,錯誤是在這裏:

if ($f1 = "proof") 

的=「證明」的值賦給變量$ F1和不評估平等像你要的那樣。你真正想要的是

if ($f1 === "proof") 

它做了平等檢查。 ==也適用,它只是不檢查類型是否相同(所以0 ==「0」評估爲true,而0 ===「0」則不會)