2014-11-23 3 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

+1

вы можете попробовать 'if ($ f1 ===" proof ")' – lighter

+0

Что касается вашего редактирования, как это работает? Он добавляет '1/2 + 2/3 + 3/4'. – irrelephant

ответ

0

Вот короткая версия:

<?php 

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

?> 

Выход:

1.9166666666667 

КСТАТИ: В вашей, если заявление вы делаете назначение! Вы не сравниваете! вы должны использовать == ИЛИ ===

+0

Конечно, '$ total = $ total + ____' в порядке, правда? – irrelephant

0

Как уже упоминалось в комментариях, ошибка здесь:

if ($f1 = "proof") 

The = присваивает значение «доказательства» в переменной $ f1 и не оценивает равенство Как ты хочешь. Что вы действительно хотите, это

if ($f1 === "proof") 

который выполняет проверку равенства. == работает также, он просто не проверяет, что типы одинаковы (поэтому 0 == "0" оценивается как true, а 0 === "0" не будет)

Смежные вопросы