为什么以下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; ?>
你在$
的c
错过了一个for($i=1;$i<c;$i++)
=> for($i=1;$i<$c;$i++)
在$
的i
缺少(floatval(i) / $p);
=> (floatval($i) / $p);
循环永远不会运行,因为您将$i
与未定义的常量c
进行比较。
如果你设置error_reporting(E_ALL)
然后你得到以下消息:
注意:使用未定义的常量c - 假设'c'在......
因此,PHP将c
解释为字符串'c'
,任何数字都大于字符串(因此,$i < c
的计算结果为false)。
将其更改为$i < $c
。
floatval(i)
应该是floatval($i)
,对吗?
你也应该改变你的for循环:
for($i=1;$i<c;$i++){
应该是
for($i=1;$i<$c;$i++){
编辑:对不起,已经很晚了