循环don'的内部多重比较;不要破坏php代码。为什么?
为什么这段代码在第二个for循环中显然是错误的(循环don'的内部多重比较;不要破坏php代码。为什么?,php,for-loop,Php,For Loop,为什么这段代码在第二个for循环中显然是错误的(for($i==0;$icodefor($i==0;$i
for($i==0;$icodefor($i==0;$i<$parts;$i++)
会运行,因为$i==0
对循环没有影响
在正常的for
循环第一个语句中,只设置$i
或任何其他计数器的初始值。由于您先前已将$i
设置为0,循环从$i=0
运行,直到第二个语句$i
部分不正确
更进一步,您甚至可以省略第一条语句:
$i = 0;
for (; $i < 3; $i++) {
echo $i;
}
$i=0;
对于(;$i<3;$i++){
echo$i;
}
循环仍然会从0
运行3次到2
为什么会出错?$i==0
是一个输入错误。@u\u mulder是的,但它可以工作。为什么?因为for
语法中的第一个表达式只用于初始化循环变量。$i==0
当然不会这样做,但是您已经在函数的开头设置了$i=0;
,因此执行此循环所需的一切都已就绪。值得一提的是,这三个表达式都可以省略-for(;;)
是一个有效的循环。(当然,它可以无限运行,因此可能不是日常使用的东西。但根据某些条件,它仍然可以通过内部的中断)保留在某个点上。)我认为OP似乎对for
循环的工作方式缺乏总体了解。
$i = 0;
for (; $i < 3; $i++) {
echo $i;
}