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; は、サポートされません。