PHPの全目次
繰り返し処理の目次
- while文
- while文をネスト
- break
- continue
- do..while文
- for文
- for文で複数の変数を変化させる
- foreach文
- foreach文でキーと値を取り出す
- foreach文で配列要素の値を変更する
do..while文
while文はまず最初に条件式の評価が行われますので場合によっては一度もブロック内の処理が実行されないこともありますが、必ず1回は処理を行う場合にはdo..while文が便利です。書式は次のようになっています。
do{ 実行する処理1; 実行する処理2;}while (条件式);
do..while文では、まずブロック内野処理が実行された後で条件式の評価が行われます。その為、少なくとも1回は必ずブロック内の処理が実行されます。条件式の評価が真(TRUE)であれば再度先頭に戻りブロック内の処理を実行します。偽(FALSE)ならばdo..while文を終了します。
実行される処理が1つだけの場合はブロックを省略して次のように記述しても構いません。
do実行する処理;while (条件式);
ではdo..while文がどのように実行されるのか確認していきます。次のような例で考えてみます。
$num = 0;
do{print “num=”.$num;$num += 1;}while (num < 2);
この時、次のように実行されます。
1) 変数「num」に「0」を代入2) 変数「num」の値を出力3) 変数「num」に代入されている値を1だけ加算。変数「num」は「1」が代入される4) 条件式を評価。変数「num」は2より小さいのでdo..while文の先頭へ戻る5) 変数「num」の値を出力6) 変数「num」に代入されている値を1だけ加算。変数「num」は「2」が代入される7) 条件式を評価。変数「num」は2より小さいくない為、do..while文を終了
まずブロック内の処理が行われてから、繰り返しを継続するかどうか条件式の評価を行っています。
なおwhile文と同じく「break」や「continue」を利用することが可能です。
サンプルコード
▼Example-again5-1.php
<!DOCTYPE html><html lang=”ja”><head><meta http-equiv=”Content-Type” content=”text/html;charset=UTF-8″ /><title>PHPテスト</title></head><body>
<p>PHPのテストです。</p>
<p><?php$num = 0;
do{print ‘num = ‘.$num.'<br />’;$num += 1;}while ($num < 3);?></p>
</body></html>
上記のファイルをwwwサーバのドキュメントルート以下に設置しブラウザからアクセスすると次のように表示されます。