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++) {
    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 迴圈中用空的表達式在很多場合下會很方便。

PHP 也支援用冒號的 for 迴圈的替代語法。

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