while

(PHP 4, PHP 5, PHP 7, PHP 8)

whileループは、PHPで最も簡単なタイプのループです。 このループは、CのWHILEループと同様の動作をします。 whileループの基本形は次のようになります。

while (式)
    文

while文の意味は簡単です。 while文は、式の値がtrueである間、 入れ子の文を繰り返し実行することをPHPに指示します。 式の値は各反復処理の開始時にチェックされるので、ループ内の文の実行により この値が変わった場合でもループ実行は各ループを終るまで終わりません。 (PHPによるループ内の文の実行が1回分の反復に相当します) while式の値がはじめからfalseの 場合は、内部の文は一回も実行されません。

if文と同様に、波括弧で複数の文を囲うか、 以下に示す別の構文を用いることにより、同じwhile ループの中に複数の文をグループ化することができます。

while (式):
    文
    ...
endwhile;

次の例は同じです。どちらも 1 から 10 までの数を出力します。

<?php
$i = 1;
while ($i <= 10) {
    echo $i++ . "\n";  /* 出力される値は、足される前の
                           $iの値です。
                           (後置加算) */
}

上の例の出力は以下となります。

1
2
3
4
5
6
7
8
9
10
<?php
$i = 1;
while ($i <= 10):
    echo $i . "\n";
    $i++;
endwhile;

上の例の出力は以下となります。

1
2
3
4
5
6
7
8
9
10