关于PHP中的for循环执行顺序问题

先贴出来官方给的文档说明:

for 循环是 PHP 中最复杂的循环结构。它的行为和
C 语言的相似。 for 循环的语法是:

for (expr1; expr2; expr3)
statement

这是一个demo,可以猜一下这个demo运行之后是否会有输出:

demo

第一个表达式(expr1)在循环开始前无条件求值(并执行)一次。
expr2 在每次循环开始前求值。如果值为 TRUE,则继续循环,执行嵌套的循环语句。如果值为 FALSE,则终止循环。
expr3 在每次循环之后被求值(并执行)。

也就是说赋值是第一位的,之后开始这个for循环。

然后在每次循环之前运行expr2的判断,每次循环之后进行expr3的求值。

即start -> expr1 -> n(expr2 -> statement -> expr3) -> end

所以demo中的代码运行之后虽然$i已经被赋值0了,但是程序不会有任何的输出。

发表评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.