else if文
else if文は、else同様、if文と共に使用されます。else ifを単体で使用することはありません。
次の例はif文とelse if文を使用した例です。
else_if_example.php
1 <?php
2 /**
3 * else if文を利用した例
4 *
5 * 天候によってメッセージを変えます
6 */
7
8 // 変数に値を代入
9 $weather = 'fair';
10
11 // 雨の場合
12 if ($weather == 'rain') {
13 echo '『雨だ』' . "\n";
14 echo '傘をさす' . "\n";
15 // 晴れの場合
16 } else if ($weather == 'fair') {
17 echo '『いい天気!』' . "\n";
18 echo '傘ささない' . "\n";
19 }
else_if_example.phpの実行結果
『いい天気!』
傘ささない
16行目でelse if文が登場しています。
else if文の形式
else if文の形式は次のようになります。
if (条件式) {
文;
} else if (条件式) {
文;
}
- if文に続けて『else if』と記述します。
- 条件式を『(』と『)』で囲んで記述します。前のif文の条件にマッチせず、かつ、このelse ifの条件にマッチした場合のみ次の文を実行します。
- 実行したい文を『{』と『}』で囲んで記述します。
特徴的なのは、if文の条件にマッチしなかったものを、さらにelse ifで条件を絞っている点です。結果や形としては、複数のif文を連ねたのと同じですが、else ifを用いることで、コードがスマートになり、分かりやすくなります。
else ifは、次の例のように複数連ねて記述することもできます。
else_if_example2.php
<?php
/**
* else if文を利用した例
*
* 天候によってメッセージを変えます
*/
// 変数に値を代入
$weather = 'fair';
// 雨の場合
if ($weather == 'rain') {
echo '『雨だ』' . "\n";
echo '傘をさす' . "\n";
// 雪の場合
} else if ($weather == 'snow') {
echo '『雪だわ…』' . "\n";
echo '傘をさす' . "\n";
// 晴れの場合
} else if ($weather == 'fair') {
echo '『いい天気!』' . "\n";
echo '傘ささない' . "\n";
// 嵐の場合
} else if ($weather == 'storm') {
echo '『ひどい天気だ!』' . "\n";
echo '傘じゃ間に合わない' . "\n";
}
else_if_example2.phpの実行結果
『いい天気!』
傘ささない
if、else、else ifの複合
ifとelse、else ifは、それらを連ねて複合的な文を構成することができます。次はその例です。
else_if_example3.php
<?php
/**
* if、else、else if文を利用した例
*
* 天候によってメッセージを変えます
*/
// 変数に値を代入
$weather = 'fair';
// 雨の場合
if ($weather == 'rain') {
echo '『雨だ』' . "\n";
echo '傘をさす' . "\n";
// 雪の場合
} else if ($weather == 'snow') {
echo '『雪だわ…』' . "\n";
echo '傘をさす' . "\n";
// 晴れの場合
} else if ($weather == 'fair') {
echo '『いい天気!』' . "\n";
echo '傘ささない' . "\n";
// 嵐の場合
} else if ($weather == 'storm') {
echo '『ひどい天気だ!』' . "\n";
echo '傘じゃ間に合わない' . "\n";
// その他の場合
} else {
echo '『訳の分からない天気だ』' . "\n";
echo '一応、傘でも…' . "\n";
}
else_if_example3.phpの実行結果
『いい天気!』
傘ささない
『if』から、elseの最後の『}』までで、ひとつの条件分岐のセクションを構成しています。このセクションは、あたかも何らかの処理を行う塊やマシーンのようにも見えないでしょうか?
このような複合的な構成は、実際のプログラミングにおいて非常によく使用します。そのためか、習慣的にif、else、else ifを総称してif文と言ったりします。