0
0

More than 3 years have passed since last update.

while構文

Posted at

while構文

繰り返す条件を作るための初期化処理
while (繰り返す条件){
  繰り返したい処理
  更新処理
}

↓↓↓↓↓

$i = 1;
while ($i <= 365){
     print $i . PHP_EOL;
     $i = $i + 1;
}
  • 一番重要なところは「繰り返す条件」($i <= 365)
    • ◯◯が△△になったら繰り返してください、◯◯が△△ではなくなったら繰り返しをやめてください、といった条件を記述する
    • 上記の場合は『$iという変数の内容が365以下の間繰り返す』と言った条件になっている
  • $iは最初どういう状態なのか?
    • 「初期化処理」$i = 1;の部分で行われる
    • $i = 1として数字の1を代入しているので、最初の$iの状態は 1 であることがわかる
    • while構文の条件である『$iが365以下』に該当するので、while構文の中括弧に入って「繰り返したい処理」が行われる
    • while構文は「繰り返したい処理」が終わると、元の部分に戻るという性格がある
    • $iが365以下の場合は、画面に数字が表示された後、またwhile構文に戻ってくる
    • ここで更新処理を書かないと、$iには1が代入されたままとなり無限ループとなってしまう。
  • 更新処理
    • 繰り返す条件に使っている変数などは、最終的に条件から外れるような計算などを行う必要がある
    • 「更新処理」$i = $i + 1;
      • $i$i+1 を代入する。
    • 1 を画面に表示した後、$iには1+1である 2 が代入される
    • またwhile構文の最初に戻るので$iが365以下であることは変わらないが、$iの内容自体は変わっている。(1が2になっている)
    • 2 が画面に表示された後、$iは2+1である 3 が代入される
      • 3が画面に表示されて4・・・5・・・6と1ずつ増えていく
    • 364が画面に表示された後、365になった$iのままwhile構文に戻る。
      • 条件は「365以下」なので365も含まれる
    • 画面には365と表示され、$iが366になった後while構文に戻るが、この時点で条件から外れる。
    • 画面には365が表示されて処理が終わる。(条件から外れたので)

※参考:Udemy/Webサーバーサイドプログラミング入門

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0