PHP Manual
后退 | 章 16. 流程控制 | 前进

# for

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

    for (expr1; expr2; expr3) statement

第一个表达式（expr1）在循环开始前无条件求值一次。

expr2 在每次循环开始前求值。如果值为 `TRUE`，则继续循环，执行嵌套的循环语句。如果值为 `FALSE`，则终止循环。

expr3 在每次循环之后被求值（执行）。

每个表达式都可以为空。expr2 为空意味着将无限循环下去（和 C 一样，PHP 认为其值为 `TRUE`）。这可能不想你想象中那样没有用，因为你经常会希望用 break 语句来结束循环而不是用 for 的表达式真值判断。

考虑以下的例子。它们都显示数字 1 到 10：

`<?php /* example 1 */ for ($i = 1; $i <= 10; $i++) { print $i; } /* example 2 */ for ($i = 1; ; $i++) { if ($i > 10) { break; } print $i; } /* example 3 */ $i = 1; for (;;) { if ($i > 10) { break; } print $i; $i++; } /* example 4 */ for ($i = 1; $i <= 10; print $i, $i++); ?>`

当然，第一个例子看上去最正常（或者第四个），但你可能会发现在 for 循环中用空的表达式在很多场合下会很方便。

PHP 也支持用冒号的 for 循环的替代语法。

    for (expr1; expr2; expr3): statement; ...; endfor;

其它语言具有 foreach 语句来遍历数组或散列表，PHP 也行（见 foreach）。在 PHP 3 中，可以结合 list() 和 each() 函数用 while 循环来达到同样效果。例子见这些函数的文档。

后退 | 起点 | 前进
do..while | 上一级 | foreach