【Step3】 条件分岐と繰り返し

 

if文 

「もし条件がAだったら処理Xを実行し、条件がBならばYを実行する」のように、状況に応じて処理を選択する手法を条件分岐と呼びます。

《構文》

if(条件式) {
   条件が満たされたときのスクリプト

《サンプル》
下記サンプルは$nameにあらかじめ「Jeanluc」という文字列を格納し、 $nameの中身がJeanlucであるかを判定し、Trueならば文字列を表示しています。

<?php
$name = "Jeanluc";
if ($name == "Jeanluc") echo ("$name はうちの犬です");
?>

《結果》

Jeanluc はうちの犬です

複数の条件を判別する場合は、elseif else と組み合わせます。

《サンプル》

下記例では最初の2つの条件には当てはまらないため、最後の条件を実行します。

<?php
$a = 100;
$b = 200;
if ($a > $b) {
echo ("$a は $b より大きい");
} elseif ($a == $b) {
echo ("$a と $b は等しい");
} else {
echo ("$a は $b より小さい");
}
?>

《結果》

100 は 200 より小さい

switch文 

switch文は、同じ変数を繰り返し評価する場合に、効率的な条件文を記述することができます。それぞれのcase値と比較し、該当する値が見つかれば break に至るまで処理を実行します。

《サンプル》
次の例では$ageを評価します。2つの条件式に該当しないため、最後のdefault以降を実行します。

<?php
$age = 49;
switch ($age) {
 case "100":
  echo ("100歳です やったね");
  break;
 case "50":
  echo ("50歳です。もっとがんばろ");
  break;
 default:
  echo ("$age 歳です");
}

《結果》

49 歳です

wile文 

while文は繰り返し処理を実行する前に条件式を評価します。評価された条件式が true の場合は、カッコ({)以下のコードを実行し、false の場合は、実行せずスキップします。途中でループから抜け出る場合は break を使います。

《構文》

while (式) {
   処理スクリプト
}

《サンプル》

下記サンプルではループの途中5回で終了しています。

<?php
$i = 0;
while ($i < 10) {
  if ($i == 5) {
   echo "$i 回で終わります<br>";
   break;
  }
  echo "$i 回目のループ<br>";
  $i++;
}

《結果》

0 回目のループ
1 回目のループ
2 回目のループ
3 回目のループ
4 回目のループ
5 回で終わります

do while文 

do while文は、最後に条件式が評価されます。最低でも1回はループの中に入ることになります。

《サンプル》

<?php
$i = 0;
do {
  if ($i == 5) {
    echo "$i 回で終わります<br>";
    break;
  }
  echo "$i 回目のループ<br>";
  $i++;
}while ($i < 10)
?>

《結果》

0 回目のループ
1 回目のループ
2 回目のループ
3 回目のループ
4 回目のループ
5 回で終わります

for文 

《構文》

for (初期値式; 条件式; 増減式) {
  処理スクリプト

for文は、ループに入る前に初期値式を実行し、条件式で評価します。条件に合えば処理を行い、増減式を実行してから処理に戻ります。条件が合わない場合はループを実行しません。

《サンプル》

<?php
$name = array("Jean","Emily","Mccoy");//配列を3つ用意
   for($i = 0; $i < 3 ; $i++) {       //条件と増減
     echo ("$name[$i]<br>");     //出力
   }
?>

《結果》

Jean
Emily
Mccoy