- 更新日: 2017年03月30日
- 公開日: 2015年12月08日
ゼロから始めるPHP講座Vol.15 while文を使った繰り返し処理
ゼロから始めるPHP講座 while文を使った繰り返し処理
while文とは
繰り返し処理を行うことができ、ループとも呼ばれます。 まずはお手本にある通り、while文を使ったプログラムを書いてみましょう。
ファイル名: while.php
<!--?php
$i = 0;
while ( $i < 5 ) {
print $i . "\n";
$i++;
}
?-->
0から4まで順に表示されます。
お気づきかと思いますが、for.phpと結果は同じです。
while文の書き方
以下のような書式でループを行います。
具体的にどのような順番で処理が行われるのか、while.phpを例に示します。
while.phpの詳細な処理の順番は以下となります。
このようにwhile文は
「条件式→繰り返し行う処理内容」
の順に実行されていき、条件式の結果がfalseとなると、while文が終了します。
重要なのは条件式で、while文の中に記載する繰り返し行う処理内容は条件式がtrueとなった場合に実行されるため、ループ1回目の判定でfalseとなった場合、1度も実行されません。
また、条件式がfalseとなるまでループが継続されるため、条件式によっては無限ループとなることがありますので、気をつけましょう。
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>
「for文の使用例」で作成したドロップダウンリストと同じ結果となります。
while文を使うことにより、 1900年から現在までの西暦を、短く簡単に書くことができます。
課題
1+2+3+…と足される数を1ずつ増やしながら足していき、和が1000を超えるときの足される数値と、合計値を表示してください。
ファイル名: challenge_while.php
NEXT LESSON ☛ foreach文とは
PREV LESSON ☛ for文を使った繰り返し処理
- この記事を書いた人
- CodeCampus編集部