スクリプトの中で、同じ処理を繰り返す「ループ」は単独で利用されたり、「条件分岐」と併用して利用されることもあります。ループはPHPスクリプト中で、非常に多く利用される「制御構文」の1つです。

例えば日曜日から土曜日までを表示させる場合、print文やecho文を7つ書いても良いのですが、カッコイイプログラムにしたいのであれば、事前に用意した曜日の配列を用意して、その配列をループさせ、順に表示させてしまいましょう!、という時に使います。ループにより、プログラム自体をスッキリさせることができます。

ループ ~ 繰り返し処理

PHPでは、ループを構成する4種類の制御構文が用意されています。4つあるとどれを利用すべきか迷うかもしれませんが、この場合はコレ!という明確な用途はありません。どんなスクリプト言語でも同じで、判断にはある程度の慣れが必要です。

while構文
ループを制御する最もシンプルな構文が「while」です。whileは、その繰り返しのコードを実行する前に条件式を評価し、その式が満たされればループを抜けます。同時に、その式が最初から満たさなければ、ループを実行することがありません。
以下は、while構文の基本的な形です。
  while (式) {
     処理スクリプト
 }
while構文は、if構文に似ており、式を評価してから、中カッコ[ ~ ] のブロックを実行します。言い換えれば、式にある条件を満たすことができなければ、ループを実行させることができません。
<?php
    $a = 0;
    $hai = array("HTML","XHTML","XML","JavaScript","PHP");
      while($a < 4) {
        print($hai[$a]). "\n";
        $a++;
      }
?>
この while構文の条件式は、変数$a の値が4を超えたときにループから抜けるように設定されています。このスクリプトでは配列で定義された5つのインデックスのうち、4つまでを Webブラウザに出力しています。

実際には次のような処理がされています。

  1. 1回目のループ: $a は 0 だから処理をする。処理結果 $hai[0]を表示する。$aの値を1増やす。
  2. 2回目のループ: $a は 1 だから処理をする。処理結果 $hai[1]を表示する。$aの値を1増やす。
  3. 3回目のループ: $a は 2 だから処理をする。処理結果 $hai[2]を表示する。$aの値を1増やす。
  4. 4回目のループ: $a は 3だから処理をする。処理結果 $hai[3]を表示する。$aの値を1増やす。
  5. 5回目のループ: $a は 4だから処理をせず、ループを抜ける

continue reading…