for循环结果0 - php语法错误?

问题描述 投票:0回答:4

为什么以下php语法产生0?注意:所有其他变量都分配了值。

    $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; ?>
php syntax for-loop
4个回答
4
投票

你在$c错过了一个for($i=1;$i<c;$i++) => for($i=1;$i<$c;$i++)

$i缺少(floatval(i) / $p); => (floatval($i) / $p);


2
投票

循环永远不会运行,因为您将$i与未定义的常量c进行比较。

如果你设置error_reporting(E_ALL)然后你得到以下消息:

注意:使用未定义的常量c - 假设'c'在......

因此,PHP将c解释为字符串'c',任何数字都大于字符串(因此,$i < c的计算结果为false)。

将其更改为$i < $c


0
投票

floatval(i)应该是floatval($i),对吗?


0
投票

你也应该改变你的for循环:

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

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

编辑:对不起,已经很晚了

© www.soinside.com 2019 - 2024. All rights reserved.