do-while文について理解したい人向け
do-while文とは?
do-while文の書き方がわからない
復習したい
こういった疑問を解決します。
本記事の内容
・do-whileとは?
・do-whileの書き方
この記事は、while文を理解してからのほうがわかりやすいので、先に以下の記事を読みましょう!
do-whileとは?
文を実行した後に条件式を評価し、繰り返しを行うか判定をする制御構造です。
trueであれば繰り返しを実行し、falseであれば繰り返しを終了します。
while文と似ていますが
while文は条件式を評価してから文を実行
do-while文は文を実行してから条件式を評価
という違いがありますので
whileは最初に評価した条件がfalseであれば何も実行せずに終了します。
do-whileは最初に評価した条件がfalseでも文を1回実行した後、終了します。
do-while文の書き方
do-while文の書き方は以下のように記述します。
do {
文
} while ( 条件式 );
while(条件式);←のセミコロン( ; )を忘れないようにしましょう。
処理の順は以下のようになります。
①doの中にある文が実行される
②条件式を評価してtrueであればまた文を実行
③条件がfalseになるまで繰り返しを行う
サンプルコードを見てみましょう
<?php $i = 1; do { echo $i . '<br />'; $i++; } while ($i <10); //出力結果 1 2 3 4 5 6 7 8 9
解説していきます。
①変数$iに1を入れています
②do後の文「echo $i」を実行($iは1ですので、1を出力)
③次の分「$i++」で$iに1を足す(1が2になる)
④whileの条件式を評価し、「2 < 10」となるのでtrue
⑤trueなのでdoへ戻り文を実行する
⑥false(今回は$iが10)になるまで繰り返し実行する
次はランダム数字でやってみましょう。
<?php $i = 1; do { echo $i . PHP_EOL; $i = mt_rand(1, 10); } while ($i < 10);
1~10まで繰り返しを行い10がでれば処理を終了しています。
無限ループに注意
do-whileもwhileと同様にfalseにならなければ無限ループになってしまうので注意が必要です。
まとめ
・文を実行した後に条件式を評価し、繰り返しを行うか判定をする制御構造
・trueであれば繰り返しを実行し、falseであれば繰り返しを終了
・do-while文は文を実行してから条件式を評価
・do-whileは以下のように記述
do {
文
} while ( 条件式 );
セミコロン( ; )を忘れないようにしましょう
whileとdo-whileの違いについて理解しておきましょう!