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