while
(PHP 4, PHP 5)
while ループは、PHP で最も単純なループ タイプです。 C言語時と同じ動作をします。 while ステートメントの基本的な形式は次のとおりです:
while (expr) statement
while ステートメントの意味は非常に単純で、while 式の値が TRUE である限り、ネストされたループ ステートメントを繰り返し実行するように PHP に指示します。式の値はループが開始されるたびにチェックされるため、ループ ステートメント中に値が変更された場合でも、ループが終了するまでステートメントの実行は停止しません。 while 式の値が最初に FALSE である場合、ループ ステートメントが 1 回も実行されないことがあります。
if ステートメントと同様に、中括弧を使用して while ループ内のステートメントのグループを囲むことも、代替構文を使用することもできます:
while (expr): statement ... endwhile;
次の 2 つの例はまったく同じで、どちらも 1 から 10 までの数字を表示します。
<?php /* example 1 */ $i = 1; while ($i <= 10) { echo $i++; /* the printed value would be $i before the increment (post-increment) */ } /* example 2 */ $i = 1; while ($i <= 10): print $i; $i++; endwhile; ?>do -while(PHP 4, PHP 5)do-while ループは while ループとよく似ていますが、式の値が各ループの先頭ではなく最後にチェックされる点が異なります。通常の while ループとの主な違いは、do-while ループ ステートメントが 1 回実行されることが保証されている (ループごとに式の真偽値がチェックされる) ことですが、通常の while ループでは必ずしもそうであるとは限りません (式の真理値。ループの開始時にチェックされ、開始時に FALSE の場合、ループ全体が直ちに終了します。 do-while ループの構文は 1 つだけです:
<?php $i = 0; do { echo $i; } while ($i > 0); ?>最初のループの後、式の真の値がチェックされると、その値は FALSE ($i が大きくない) になるため、上記のループは 1 回だけ実行されます。 0 より大きい) ループが終了します。 経験豊富な C 言語ユーザーは、別の do-while ループの使用法に精通しているかもしれません。これは、ステートメントを do-while(0) に置き、ループ内で Break ステートメントを使用して実行ループを終了することです。次のコード スニペットは、このメソッドを示しています:
<?php do { if ($i < 5) { echo "i is not big enough"; break; } $i *= $factor; if ($i < $minimum_limit) { break; } echo "i is ok"; /* process i */ } while(0); ?>
すぐに理解できなくても心配しないでください。この「機能」を使用しなくても強力なコードを作成できます。 PHP 5.3.0 以降では、goto を使用してループを抜け出すこともできます。