Php/docs/control-structures.elseif

提供:Dev Guides
< Php
移動先:案内検索

elseif/else if

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

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

<?phpif ($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 である場合にのみ実行されます。

注意:

上の例のように波括弧を使用する限り、 elseifelse 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;/* 正しい方法 */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;?>