おぼえがき

過ちては則ち改むるにうんぬんかんぬん

while文(whileループ)について(PHP)

f:id:feci:20210727001932j:plain

PHP7

 

PHP7.4.1におけるwhile文(whileループ)について。

<?php

$a = 5;
$b = 1;

echo "計算問題です。{$a}-{$b}は? >";  //問題の出題(5-1)
$aaa = (int)trim(fgets(STDIN));         //コンソールで値の入力

while ($aaa !== $a-$b) {                               //4を入力しないかぎり永続ループ
  echo "ちがいます。もう一度答えを入力してください。"//条件を満たした際に出力
  $aaa = (int)trim(fgets(STDIN));                      //もう一度コンソールで回答
}

echo "正解です!すごい。";  //while文を抜けた(正解を入力した)際に出力

while文はfor文のような繰り返し処理のための構文です。

 

while文はfor文と違い、回数の決まっていない繰り返し処理に適した構文です。

for文では初期値が更新処理により指定した値に達したときにtrueとなり処理を終えますが、while文ではif文のような比較演算子で指定した条件がtrueになった時点でそのループを終了します。

 

今回のプログラムの場合は、コンソールで4と入力されないかぎりwhileループは延々と回り続けます。

 

 

while文の定形は以下のとおりです。

 

while (条件式) {
    条件を満たした際におこなう処理;
}

 

 

ちなみにPHPでは、もしfor文で書けるのならば繰り返し処理はfor文で書くことが推奨されているようです。

while文の出番は主に、for文で書くことが難しい繰り返し処理をおこなう場合に限定されているようです。

 

 

以上です。