一些不适合循环PHP的东西


something not right in for loop PHP

有人能告诉我为什么我的第二个回波产生-1吗?据我所知,当$x>=0时,循环停止执行。。。那么为什么第二个回声会说-1这是从哪里来的呢:

for ($x=5; $x>=0;--$x) {
//echo inside loop
echo $x . "<br>";
}
//echo outside loop
echo $x;

这会产生:5.4.3.2.1.0-1&lt----我确信这行不应该在那里,不是应该写0吗?

他循环到$x>=0。"最后"cicle$x是<0,因此从FOR退出。因此$x是cicle For中的-1。

值-1是FOR结束的原因。

因为循环将x递减到0以上。那是它知道停止的时候。它在循环中的求值永远不会小于零,但在最后一次迭代后,它比极限值小一。

我在问题中的假设是错误的,当$x>=0时,循环不会停止执行,当$x>=-1被评估为false时,它会停止执行,这就是循环外的echo返回的值,当循环停止迭代