while文

反復構造の1つであるwhile文を見ていきましょう。次のプログラムは1〜3まで出力するものです。次のプログラム(loop1.php)を作成してみましょう。

<?php
$i = 1;
while ($i < 4) {
  echo $i . PHP_EOL;
  $i++;
}

まずは作成したプログラムを実行してみましょう。ターミナルから次のように実行します。

$ php loop1.php
1
2
3

while文は反復構造を定義する構文です。

while (条件式) {
  // 条件が成立した場合に実行する処理
}

上記のように()の中に条件式を記述し、{}の中に条件が成立した場合に実行する処理を記述します。

さきほどのプログラム(loop1.php)の場合、条件式$i < 4となっています。これは「変数$i4より小さい」という条件を定義しています。変数$iの初期値は1を代入しているので、繰り返しの初回は条件が成立することになります。

条件式には値の大小を比較する><といった比較演算子を使うことが多いです。

条件式が成立した場合{}の中に記述した処理が実行されます。さきほどのプログラム(loop1.php)の場合、以下のように記述しています。

while ($i < 4) {
  echo $i . PHP_EOL;
  $i++;
}

{}の中ではまずecho $i . PHP_EOL;が実行されるので、変数$iの内容が改行コード(PHP_EOL)とともに出力されます。続いて$i++;が実行されるので変数$iのデータがインクリメント(1増加)されます。$i++;の処理を終えるとwhile文の処理ブロックの終端である}に到達します。}に到達すると処理は、再び、条件式の比較($i < 4)に戻ります。この時点で変数$i2となっていますが、条件式$i < 4は成立するので再度、{}の中の処理を実行することになります。

$i$i < 4反復処理
1true1を出力する
$iをインクリメントする
2true2出力する
$iをインクリメントする
3true3出力する
$iをインクリメントする
4false反復処理を終了する

前へ | 次へ