2011-01-15 2 views
0

Почему следующий синтаксис php дает 0? Примечание: все остальные переменные имеют назначенные значения.для результатов цикла 0 - ошибка синтаксиса php?

$p= $_POST["arate"]/$srate; //A 
    $c= $_POST["capacity"]; 
    $s= 0.0; 

    for($i=1;$i<c;$i++){ 
    $s= (1.0 + $s) * (floatval($i)/$p); 
    } 
    ?> 
    <?php echo $s; ?> 
+0

Перед циклом повторяйте свои значения '$ p и $ c' и публикуйте их. – sberry

ответ

3

отсутствует $ на c в for($i=1;$i<c;$i++) =>for($i=1;$i<$c;$i++)

и пропавших без вести $ в i в (floatval(i)/$p); =>(floatval($i)/$p);

+0

я глуп: o спасибо! – user228137

0

floatval(i) должен быть floatval($i), верно?

+0

изменил это, но все равно 0 – user228137

0

вы должны изменить свой цикл, а также:

for($i=1;$i<c;$i++){ должен быть

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

изменения: извините, был до конца

2

Цикл никогда не запускать, как вы сравните $i с неопределенной постоянной c.

Если вы установили error_reporting(E_ALL), то вы получите следующее сообщение:

Примечание: Использование неопределенной константы с - предполагается, 'с' в ...

Таким образом, PHP интерпретирует c как строка 'c' и любое число больше строки (при этом $i < c оценивает значение false).

Изменить его на .

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