while文について理解してい人向け
while文とは?
while文の書き方が知りたい
復習したい
こういった疑問を解決します。
本記事の内容
・while文とは?
・while文の書き方
while文とは?
条件式がtrueであるときに、それに続く文を繰り返し処理する制御構造です。
条件式がtrueであれば、繰り返し処理を行い、falseであれば処理を終了します。
while文の書き方
以下のように記述します。
while ( 条件式 ) {
文
}
処理順は以下のようになります。
① 条件式で条件をtrueかfalseか判断する
② trueであれば、文を実行して①へ戻る
③ falseであれば文を実行しないで終了する
サンプルコードを見てみましょう。
<?php $i = 1; while ($i <= 10) { echo $i . PHP_EOL; $i++; } //出力結果 1 2 3 4 5 6 7 8 9 10
解説です。
① 「変数$i」に1が入っています
②「while ($i <= 10)」で$iは10より小さいか等しいとtrueの条件を設定(最初は1なのでtrue)
③「echo $i . PHP_EOL」で$iを出力(1を出力)
④ 「$i++」で$iに1を足す(1+1で$iは2になる)
※①〜④までをfalseになるまで繰り返し行う
続き
⑥ $iは2なのでtrue
⑦ 2を出力
⑧ 2に1を足して$iは3になる
・・・これをfalse(今回は11)になるまで繰り返し行う
次はランダム数字で試してみましょう。
<?php $i = 1; while ($i < 10) { $i = mt_rand(1, 10); echo $i . PHP_EOL; }
実行結果
解説です。
① 「変数$i」に1が入っています
② 「while ($i < 10)」で10より小さいとtrueの条件を設定
③ 「$i = mt_rand(1, 10)」で$iにランダムな数字1〜10を入れます
④ 「echo $i」で結果を出力
⑤ $iが10(false)になるまで繰り返しを行う
無限ループに注意!
条件式で条件を判定した時にfalseとならなければ永遠に繰り返し処理を行ってしまう無限ループとなってしまうので、条件式はしっかり確認して設定しましょう!
まとめ
・条件式がtrueであるときに、それに続く文を繰り返し処理する制御構造
・条件式がtrueであれば、繰り返し処理を行い、falseであれば処理を終了
・whileの書き方は以下
while ( 条件式 ) {
文
}
・無限ループに注意!
whileは繰り返しの基本でよく使用するので、しっかり理解しましょう!