PHP - BASIC - 6. PHPの分岐構造 - 3. if - elseif

if 文は elseif 句を追加することで複数の条件分岐を定義できます。次のプログラムは変数 $dice のデータが 5 以上の場合には "Win"3 以上の場合は "Draw" 、それ以外の場合は "Lose" と出力するものです。次のプログラム( choice3.php )を作成してみましょう。

<?php
$dice = 4;

if ($dice >= 5) {
  echo "Win";
} elseif ($dice >= 3) {
  echo "Draw";
} else {
  echo "Lose";
}

elseif 句は次のように if 文の後( else 句の前)に定義します。

if (条件式1) {
  // 条件式1が成立した場合に実行する処理
} elseif (条件式2) {
  // 条件式2が成立した場合に実行する処理
} elseif (条件式3) {
  // 条件式3が成立した場合に実行する処理
} else {
  // いずれの条件式も成立しなかった場合に実行する処理
}

上記のように elseif 句は複数記述することもできます。定義した条件式は上から順に評価され、最初に条件式の成立した処理ブロック {} だけが実行されます。

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

$ php choice3.php
Draw

変数 $dice には 4 が代入されているため elseif 文の条件式が成立しているのがわかります。

PHPの elseif 句は else if と半角スペースを付けて記述することもできます。

まとめ

  • if 文には else if を組み合わせることができる
  • if 文の条件式 () が成立しない場合、次に定義されている elseif の条件式 () が評価される
  • elseif は複数記述できる