php for循环从未执行
我在运行这个脚本时遇到了一个愚蠢的问题。为什么for循环的主体从未执行过php for循环从未执行,php,for-loop,Php,For Loop,我在运行这个脚本时遇到了一个愚蠢的问题。为什么for循环的主体从未执行过 <?php ini_set('error_reporting', E_ALL); $i=0.0; $j=1.0; $max=3000; for ($z=0; $z==$max; $z++) { $i += (1.0/$max); $j -= (1.0/$max); echo "j=$j - i= $i <br>"; if( ($z % 100) == 0){ echo
<?php
ini_set('error_reporting', E_ALL);
$i=0.0;
$j=1.0;
$max=3000;
for ($z=0; $z==$max; $z++) {
$i += (1.0/$max);
$j -= (1.0/$max);
echo "j=$j - i= $i <br>";
if( ($z % 100) == 0){
echo "j=$j ¦ i= $i <br>";
};
};
?>
编辑:如你所见,学习愚蠢是可能的;-) 它永远不会进入
for ($z=0; $z==$max; $z++)
z
不能=
到$max
请尝试以下方法:
for ($z=0; $z<=$max; $z++)
$z=0;$z的
您想要$z:
第一个表达式(expr1)在循环开始时无条件计算(执行)一次
在每次迭代开始时,对expr2求值。如果求值为TRUE,则循环继续并执行嵌套语句。如果求值为FALSE,则循环的执行结束
在每次迭代结束时,计算(执行)expr3
您可能希望放入$z,因为只有当第二条语句在您的情况下为true时才会运行循环$z==$max
。这绝对不是真的,因为您已经定义了$z的值为0而$max为3000。这就像您为($z=0;0==3000;$z++)输入了
事实上,它永远不会运行,甚至不会运行一次。expr2
在第一次迭代之前为FALSE,因此不会发生任何事情。谢谢,你是对的。我将“第一个表达式(…)被无条件计算(…)误读为“第一个循环将无条件执行…”。我的错误:-)@kjy112查看修订历史记录。一定是在同一时间编辑的。我不是想改变你答案的内容,只是想改变“代码”的格式。如果你觉得被冒犯了,我向你道歉。
for ($z=0; $z==$max; $z++)
$z = 0;
while($z == $max){
// Do Stuff
$z++;
}
for (expr1; expr2; expr3)
statement