PHP的for循环
天下维客,你可以修改的网络知识库
| PHP的控制流程语句 | PHP的for循环 | PHP的while循环 | PHP的do-while循环 | PHP的foreach循环 |
for 循环是 PHP 中最复杂的循环结构。它的行为和 C语言 相似。 for 循环的语法是:
for (expr1; expr2; expr3) statement
- expr1
- 初始化语句,在循环开始前无条件执行一次,常用于给循环控制变量赋初值。expr1部分可以提到for语句之前,效果相同。
- expr2
- 循环结束条件,在每次循环开始前求值。如果值为 TRUE,则继续循环中的statement部分;如为 FALSE 则结束循环。
- expr3
- 在每次循环之后被执行,然后继续判断expr2以决定是否继续循环。常用于每次循环后调整循环控制变量的取值。
- statement
- 循环体,一般为使用{}包围的一组语句。
[编辑]
for循环的各种变体
标准的for循环可以展开为如下情形:
<?php ... expr1 ... for (;;) { if ( expr2 ) break; ... statement ... } ... expr3 ... ?>
这个展开形式表明:for语句之中的每个表达式都可以为空。
- expr1 为空表示本循环没有初始化部分。这可能是初始化工作在for语句之间已经完成。
- expr2 为空意味着将无限循环(PHP 默认其值为 TRUE)。这可能是循环终止条件比较复杂,因而在循环体内部进行了(多处) break 退出控制,否则即成为死循环。
- expr3 为空表示下次循环的expr2判断之前不进行相关处理。这可能是在循环体内部已经完成了相关操作。
[编辑]
for循环实例
考虑以下的例子,它们都显示数字 1 到 10:
<?php /* example 1 */ for ($i = 1; $i <= 10; $i++) { echo $i; } /* example 2 */ for ($i = 1;; $i++) { if ($i > 10) { break; } echo $i; } /* example 3 */ $i = 1; for (;;) { if ($i > 10) { break; } echo $i; $i++; } /* example 4 */ for ($i = 1; $i <= 10; echo $i, $i++); ?>
当然,第一个例子看上去最正常(或者第四个),但用户可能会发现在 for 循环中用空的表达式在很多场合下会很方便。
[编辑]
for循环的另一种写法
PHP 也支持用冒号的 for 循环的替代语法。
for (expr1; expr2; expr3): statement; ... endfor;


