ゼロから始めるPHP講座Vol.15 while文を使った繰り返し処理


ゼロから始めるPHP講座Vol.15 while文を使った繰り返し処理
目次
  1. ゼロから始めるPHP講座 while文を使った繰り返し処理
  2. while文とは
  3. while文の書き方
  4. while文の使用例
  5. 課題

ゼロから始めるPHP講座 while文を使った繰り返し処理

while文とは

繰り返し処理を行うことができ、ループとも呼ばれます。 まずはお手本にある通り、while文を使ったプログラムを書いてみましょう。

ファイル名: while.php

<!--?php
$i = 0;
while ( $i < 5 ) {
    print $i . "\n";
    $i++;
}
?-->

php-while1-639

0から4まで順に表示されます。

お気づきかと思いますが、for.phpと結果は同じです。

while文の書き方

以下のような書式でループを行います。

php-while2-639

具体的にどのような順番で処理が行われるのか、while.phpを例に示します。

while.phpの詳細な処理の順番は以下となります。

php-while3-639

php-while4-639

php-while5-639

php-while6-639

このようにwhile文は

「条件式→繰り返し行う処理内容」

の順に実行されていき、条件式の結果がfalseとなると、while文が終了します。

重要なのは条件式で、while文の中に記載する繰り返し行う処理内容は条件式がtrueとなった場合に実行されるため、ループ1回目の判定でfalseとなった場合、1度も実行されません。

php-while7-639

また、条件式がfalseとなるまでループが継続されるため、条件式によっては無限ループとなることがありますので、気をつけましょう。

php-while8-639

while文の使用例

ループを使用することにより、非常に効率良くプログラムを書くことができます。 まずはお手本にある通り、while文を使ったプログラムを書いてみましょう。

ファイル名: while_sample.php

<!--?php
$i = 1900;
$date = date('Y'); // 現在の西暦を取得
?-->

<meta charset="UTF-8">

<title>ループの使用例</title>

<form action="#">    生まれ西暦を選択してください


<select name="born_year">
<!--?php
// 1900年〜現在の西暦までをループで処理する
while ($i <= $date) {
?-->
            <option value="<?php print $i; ?>"><!--?php print $i; ?-->年</option>
<!--?php
    $i++;
}
?-->
        </select></form>

php-while9-639

「for文の使用例」で作成したドロップダウンリストと同じ結果となります。

while文を使うことにより、 1900年から現在までの西暦を、短く簡単に書くことができます。

課題

1+2+3+…と足される数を1ずつ増やしながら足していき、和が1000を超えるときの足される数値と、合計値を表示してください。

ファイル名: challenge_while.php

NEXT LESSON ☛ foreach文とは

PREV LESSON ☛ for文を使った繰り返し処理


CodeCampus編集部
この記事を書いた人
CodeCampus編集部
まずは7日間お試し!人気プログラミング講座を無料公開中
オンライン・プログラミングレッスンNo.1のCodeCamp