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++;
}
 
/* 例 4 */

for ($i = 1; $i  = 10; print $i, $i++) ;


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

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

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


他の言語には、配列やハッシュを連続的に処理するために foreach 文があります。PHP 3にはこうした 構文はありません。PHP 4はこれをサポートしています。 ( foreach を参照下さい) PHP 3 では、同様の効果を得るために while 文を list() および each() と組み合わせて使用します。 例については、これらの関数に関するドキュメントを参照下さい。