FOR

FOR ループは、PHP で最も複雑なループです。 FOR は、C の for ループと同様に動作します。 FOR ループの構文は、次のようになります。

    FOR (式1; 式2; 式3) 文

最初の式(式1)は、ループ開始時に無条件に評価(実行)されます。

各繰り返しの開始時に、式2 が評価されます。 その式の値が TRUE が場合、ループは継続され、括弧内の文が 実行されます。 値が FALSE の場合、ループの実行は終了します。

各繰り返しの後、式3 が評価(実行)されます。

各式は、空とすることができます。式2 を空にすることは、 無限実行ループを意味します。(PHP は、この状態を C のように暗黙の内に TRUE とみなします) FOR 論理式を使用するよりも条件付 BREAK 文によりループを終了させたいと 考える傾向がある場合には、この機能は思ったほど便利ではないかもしれません。

次の例について考えてみましょう。全ての例は、1〜10までの数を 表示します。

/* 例 1 */
for ($i=1; $i<=10; $i++) {
    print $i;
}

/* 例 2 */
for ($i = 1;;$i++) {
    if ($i > 10) {
        break;
    }
    print $i;
}

/* 例 3 */
$i = 1;
for (;;) {
    if ($i > 10) {
        break;
    }
    print $i;
    $i++;
}

もちろん、最初の例が最善であると考えられます。 しかし、FOR ループにおいて空の式を使用できると、多くの場合、 便利だということに気づかれるかと思います。

PHP 3 では、FOR ループに一つのフォーマットしかありません。

    FOR(式): ... ENDFOR;  は、サポートされません。