while文は前の項で紹介したif文と似ています。「{}(中かっこ)」によって実際に処理が走る範囲を囲います。
条件を満たしている場合は、かっこで囲った処理を繰り返し実行します。
whileの特性は、条件式を見てから処理を実行します。最初にwhlieの処理が走る場合に条件を満たさない場合は、かっこの中のコードは一度も実行はされません。
<?php
$i = 1;
while( $i < 6 ) {
echo "$i 回目のループです。<br />n";
$i++;
}
?>
1 回目のループです。 2 回目のループです。 3 回目のループです。 4 回目のループです。 5 回目のループです。
$i++;は変数$iの値をループされるたびに1増やします。while( $i < 6 )の条件から変数$iの値が6以上になると処理が止まりますので、上記のスクリプトでは5回目のループまでとなります。繰り返しの処理を途中で中断したい場合にはbreakを使用します。
1 回目のループです。 2 回目のループです。 3 回目のここでループが中断しました
do~while文も「{}(中かっこ)」によって実際に処理が走る範囲を囲います。
while文と違うところは、処理が走った後に、条件式を評価するところにあります。すなわち条件を満たしていない場合でも、必ず一度は処理が実行されます。
<?php
$i = 2;
do {
echo "$i 回目のループです。<br />n";
$i++;
} while( $i < 1 );
?>
1 回目のループです。
以下のような正式な条件にしてみます。
<?php
$i = 2;
do {
echo "$i 回目のループです。<br />n";
$i++;
} while( $i < 6 );
?>
2 回目のループです。 3 回目のループです。 4 回目のループです。 5 回目のループです。
while( $i < 6 );の条件式により、2回目から5回目までループしています。