for
for (式1; 式2; 式3) 文 最初の式(式1)は、ループ開始時に無条件に 評価(実行)されます。
各繰り返しの開始時に、式2が評価されます。
その式の値が 各繰り返しの後、式3が評価(実行)されます。
各式は空にすることもできますし、複数の式をカンマで区切って指定することもできます。
式2 でカンマ区切りの式を使用すると、
すべての式を評価します。しかし、結果として取得するのは最後の式の結果となります。
式2 を空にすると、無限実行ループになります
(PHP は、この状態を C 言語のように暗黙の内に 次の例について考えてみましょう。以下の例はすべて 1 から 10 までの数を表示します。
もちろん、最初の例(もしくは 4番目の例)が最善であると考えられます。
しかし、
PHPは、 for (式1; 式2; 式3): 文; ... endfor; 多くのユーザーにとって、次の例のように配列をループ処理することはよくあるでしょう。
このコードは実行速度が遅くなることでしょう。 というのも、配列のサイズを毎回取得しているからです。 サイズが変わることはありえないのだから、これは簡単に最適化することができます。 配列のサイズを変数に格納して使うようにすれば、 何度も count を呼ばずに済むのです。
|