PHP マニュアル
前のページ | 第 16章制御構造 | 次のページ

# `for`

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

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

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

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

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

各式は空にすることもできますし、複数の式をカンマで区切って指定することもできます。 式2 でカンマ区切りの式を使用すると、それらを || 演算子 で連結したのと同じことになりますが、 || より優先順位は低くなります。 `式2` を空にすると、無限実行ループになります (PHP は、この状態を C 言語のように暗黙の内に `TRUE` とみなします)。 `for`論理式を使用するよりも条件付 `break` 文によりループを終了させる方が好ましい場合には、この機能は思った ほど便利ではないかもしれません。

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

`/* 例 1 */ for ($i = 1; $i <= 10; $i++) { echo $i; } /* 例 2 */ for ($i = 1;;$i++) { if ($i > 10) { break; } echo $i; } /* 例 3 */ $i = 1; for (;;) { if ($i > 10) { break; } echo $i; $i++; } /* 例 4 */ for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);`

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

PHPは、`for`ループ用に"コロン構文"もサポートします。

    for (式1; 式2; 式3):
     文;
     ...;
    endfor;

前のページ | ホーム | 次のページ
`do-while` | 上に戻る | `foreach`