指定された回数、または指定された条件が true の場合に、コードのブロックをループします。
PHP ループ
コードを記述するとき、多くの場合、同じコード ブロックを何度も繰り返し実行する必要があります。コード内でループ ステートメントを使用すると、このタスクを実行できます。
PHP では、次のループ ステートメントが提供されます:
1. while - 指定された条件が true である限り、コード ブロックがループで実行されます
2. 最初にコードを実行します。 true の場合、このループを繰り返します
3. for - コード ブロックを指定された回数だけ実行します
4. foreach - 配列内の各要素に基づいてコード ブロックをループします
while ループ
while ループは、指定された条件が true でなくなるまでブロックを繰り返し実行します。
while はブールループで、while の値 (ブール判定) が true の場合、中括弧で囲まれたコードが実行されます。 false の場合は、停止して後続のコードを実行します。
構文
while (条件)
{
実行するコード;
}
例
次の例では、まず変数 i の値を 1 に設定します ($i=1;)。
その後、i が 5 以下である限り、while ループは実行され続けます。ループが実行されるたびに、i は 1 ずつ増加します:
<html> <body> <?php $i=1; while($i<=5) { echo "The number is" . $i . "<br>"; $i++; } ?> </body> </html>
出力:
数値は 1
数値は 2
数値は 3
数値は 4
数値は 5
do ...while ステートメント
do... while ステートメントは、コードを少なくとも 1 回実行し、条件をチェックして、条件が true である限りループを繰り返します。
構文
do
{
実行するコード;
}
while (条件);
例
次の例では、まず変数 i の値を 1 に設定します ($i=1;)。 。
次に、do...while ループを開始します。ループは変数 i の値を 1 ずつインクリメントして出力します。まず条件 (i が 5 以下である) を確認します。i が 5 以下である限り、ループは実行を続けます:
<html> <body> <?php $i=1; do { $i++; echo "The number is" . $i . "<br>"; } while ($i<=5); ?> </body> </html>
出力:
数値は 2
数値は 3
数字は 4 です
数字は 5 です
数字は 6 です
do...while と while の違い
do...while と while の違いは、その値が異なるタイミングでチェックされます。
do-while while判定が真であるかどうかに関係なく、コードブロックのループ文は1回実行され、必ず1回実行されることが保証されます(式の真偽値はループごとにチェックされます)。 ただし、前の while ループはブール判定領域をチェックし、true であれば実行します。成立しない場合は実行されません。
コードで確認してみましょう:
<?php $i = 0; do { echo $i; } while ($i > 0); ?>
上記のコードでは、$i は確実に 0 より大きくなく、これも実行されます。
forループとforeachループについては次の章で説明します。