PHP - BASIC - 5. PHPの反復構造 - 1. while文
反復構造の 1
つである while
文を見ていきましょう。次のプログラムは 1〜3
までの数値を出力するものです。次のプログラム( loop1.php
)を作成してみましょう。
<?php
$i = 0;
while ($i < 3) {
echo $i . PHP_EOL;
$i++;
}
まずは作成したプログラムを実行してみましょう。ターミナルから次のように実行します。
$ php loop1.php
0
1
2
while
文は反復構造を定義する構文です。
while (条件式) {
// 条件が成立した場合に実行する処理
}
上記のように ()
の中に反復条件を示す条件式を記述し、 {}
の中に条件式が成立した場合に実行する処理を記述します。
さきほどのプログラム( loop1.php
)の場合、条件式は $i < 4
となっています。これは「変数 $i
が 4
より小さいか」という条件式を定義しています。変数 $i
の初期値は 0
を代入しているので、繰り返し処理の初回は条件式が成立する(条件式の評価結果が true
)ことになります。
while
文の条件式には値の大小を比較する>
や<
といった比較演算子を使うことが多いです。
条件式が成立した場合 {}
の中に記述した処理が実行されます。さきほどのプログラム( loop1.php
)の場合、以下のように記述しています。
while ($i < 4) {
echo $i . PHP_EOL;
$i++;
}
{}
の中ではまず echo $i . PHP_EOL;
が実行されるので、変数 $i
の内容が改行コード( PHP_EOL
)とともに出力されます。続いて $i++;
が実行されるので変数 $i
のデータがインクリメント( 1
増加)されます。 $i++;
の処理を終えると while
文の処理ブロックの終端である }
に到達します。処理が }
に到達すると、再び、 while
文の条件式の比較( $i < 4
)に戻ります。この時点で変数 $i
は 2
となっていますが、変わらず条件式 $i < 4
は成立するので再度、 {}
の中の処理を実行することになります。
$i | $i < 4 | 反復処理 |
---|---|---|
0 | true | 0を出力する $iをインクリメントする |
1 | true | 1を出力する $iをインクリメントする |
2 | true | 2出力する $iをインクリメントする |
3 | false | 反復処理を終了する |
まとめ
- while文は反復構造(繰り返し)を定義する
- while文の条件式
()
には比較演算子(<
など)を使うことが多い - while文の
{}
の中に記述した処理が繰り返し実行される