while を使うと繰り返しの処理を行うことが出来ます。
下の例では $a が10以下であれば以降の処理を繰り返し、11になったらループを抜けます。
ソースコード
$a = 1;
$sum = 0;
while ($a <= 10) {
$sum = $sum + $a;
print "\$a = $a : \$sum = $sum<br>";
$a++;
}
出力結果
$a = 1 : $sum = 1
$a = 2 : $sum = 3
$a = 3 : $sum = 6
$a = 4 : $sum = 10
$a = 5 : $sum = 15
$a = 6 : $sum = 21
$a = 7 : $sum = 28
$a = 8 : $sum = 36
$a = 9 : $sum = 45
$a = 10 : $sum = 55
while は繰り返しの条件をループの前にチェックするのに対し、 do .. while は最後にチェックが行われます。
従って、 while は繰り返しが一度も実行されない場合がありますが、 do .. while の場合は最低一度は繰り返しが実行されます。
ソースコード
print "whileの場合一度も実行されない場合がある。<br>";
$a = 1;
while ($a < 0) {
print "\$a = $a<br>";
$a++;
}
print "----------<br><br>";
print "do .. whileの場合は最低一度は実行される。<br>";
$a = 1;
do {
print "\$a = $a<br>";
$a++;
} while ($a < 0);
print "----------<br><br>";
出力結果
whileの場合一度も実行されない場合がある。
----------
do .. whileの場合は最低一度は実行される。
$a = 1
----------
break を使うと while 、 do .. while の繰り返しが終了されます。
ソースコード
print "breakでループを抜ける。<br>";
$a = 1;
$sum = 0;
while (1) {
$sum = $sum + $a;
print "\$a = $a : \$sum = $sum<br>";
$a++;
if ($a > 10) {
break;
}
}
出力結果
breakでループを抜ける。
$a = 1 : $sum = 1
$a = 2 : $sum = 3
$a = 3 : $sum = 6
$a = 4 : $sum = 10
$a = 5 : $sum = 15
$a = 6 : $sum = 21
$a = 7 : $sum = 28
$a = 8 : $sum = 36
$a = 9 : $sum = 45
$a = 10 : $sum = 55
|