カスタム検索

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 (条件式) {
    文;
}
  1. if文に続けて『else if』と記述します。
  2. 条件式を『(』と『)』で囲んで記述します。前のif文の条件にマッチせず、かつ、このelse ifの条件にマッチした場合のみ次の文を実行します。
  3. 実行したい文を『{』と『}』で囲んで記述します。

特徴的なのは、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文と言ったりします。

レンタルサーバーなら使えるねっと
CopyLeft 2010 PEABOX.COM サイト管理者に連絡