while文で繰り返し処理
whileもforと同じく繰り返し処理を記述しますが、forよりも繰り返しの条件を柔軟に記述することができます。
for文は、カウンタ変数の値の変化でしか条件を記述できませんが、while文では
例えば、「変数aに値が代入されていたら」とか「変数aの文字列に「b」が含まれていたら」といったことも条件にすることができます。
書式 whileの構文1
while(繰り返しを行う条件){
繰り返しの処理
}
書式 whileの構文2
while(繰り返しを行う条件):
繰り返しの処理
endwhile;
「繰り返しを行う条件」が正しい(TRUEの間)は、「繰り返しの処理」の部分を繰り返します。
変数の値の増減で「繰り返しを行う条件」を設定したい場合、whileでは処理が始まる前に、変数を設定しておく必要がある。
そして、繰り返していくうちに、必ず「繰り返しを行う条件」が誤り(FALSE)になるようにする必要があります。
<?php
$r = 16;
while( $r <= 250){
$rh = dechex($r);
print"<FONT COLOR = #{$rh}0000>赤色の変化</FONT><br>";
$r += 10;
}
?>
結果
最初に$rに「16」を代入し、次のwhile文ではこの変数を使用して条件を設定します。
最初、$rは16なので、「<=250」という条件は正しくなり次の処理のdechex関数で10進数の値を16進数に変換します。
次に「$r + = 10」で$rが10増えます。そしてまたwhileの部分に戻り、「<=250」の条件が正しいかが調べられます。これを繰り返し、最後は$rの値が250を超えると、条件と一致しなくなる(FALSE)ので終了します。
do~whileで繰り返す
do~whileの構文
書式
do {
繰り返しの処理
}while(繰り返しを行う条件);
基本的な機能はwhileと同じですが、「繰り返しを行う条件」が処理の後にきます。
条件を調べるのが最後なので、とにかく一回は最低でも実行することになります。
<?php
$g = 16;
print"<table>";
do{
$gh = dechex($g);
print"<tr><td bgcolor=#00{$gh}00>緑色の変化</td></tr>";
$g +=10;
}while($g<=250);
print"</table>";
?>
実行結果