5分で理解【PHP入門】do-whileとは?do-whileについて徹底解説

do-while PHP
スポンサーリンク
man-image

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の違いについて理解しておきましょう!

タイトルとURLをコピーしました