## elseif/else if

(PHP 4, PHP 5, PHP 7, PHP 8)

`elseif`は、その名前から分かるように、`if` と`else`の組み合わせです。`elseif`は、 `else`のように、元の`if`式の値が `false`の場合に別の文を実行するように`if` 文を拡張します。 しかし、`else`とは異なり、`elseif`式が `true`の場合にのみ代わりの式を実行します。 例えば、次のコードは、aはbより大きい、 aはbに等しい、 aはbより小さいを出力します。

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

複数の `elseif` を同じ `if` 文の中で使用することができます。 `true` と評価された最初の `elseif` 式を実行します。PHP では、(単語二つで)'else if'と書くこともできます。 動作は(一単語の) 'elseif'と同じです。文法的な意味はやや異なっています (あなたが C 言語に詳しいとすると、C 言語のそれと同じ動作です)。 しかし、最終的な両者の動作は全く同じです。

`elseif` 文は、前にある全ての `if` 文と `elseif` の値が `false` であり、 現在の `elseif` 式の値が `true` である場合にのみ実行されます。

> 注意: 上の例のように波括弧を使用する限り、 `elseif` と `else if` はまったく同じだと考えてよいことに注意しましょう。コロンを使って `if`/`elseif` 条件を指定する場合は、 一単語で指定する必要があります。つまり、`else if` のように分割してはいけません。 分割すると、パースエラーとなってしまいます。

    <?php

    /* 間違った方法 */
    if ($a > $b):
        echo $a." is greater than ".$b;
    else if ($a == $b): // コンパイル不能
        echo "The above line causes a parse error.";
    endif;

    <?php
    /* 正しい方法 */
    if ($a > $b):
        echo $a." is greater than ".$b;
    elseif ($a == $b): // 二つの単語を分割せず組み合わせていることに注目
        echo $a." equals ".$b;
    else:
        echo $a." is neither greater than or equal to ".$b;
    endif;

    ?>

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open