ELSEIF

ELSEIF は、その名前から分かるように、IF と ELSE の 組み合わせです。ELSEIF は、ELSE のように、元の IF 式の値が FALSE の場合に別の文を実行するように IF 文を拡張します。 しかし、ELSE とは異なり、ELSEIF 式が TRUE の場合にのみ 代わりの式を実行します。 例えば、次のコードは、$a>$b の場合は、'a は b より大きい' 、$a == $b の場合は、'a は b に等しい' 、 $a<$b の場合は、'a は b より小さい' を出力します。

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

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

ELSEIF 文は、IF 文と前にある全ての ELSEIF の値が FALSE であり、 カレントの ELSEIF 式の値が TRUE である場合にのみ実行されます。

IF 文に関する別の構文: IF(): ... ENDIF;

PHP 3 は、IF 文内でのグループ化に関して別の方法を提供します。 IF 文の中で HTML ブロックを入れ子にする場合に最も多用されますが、 他でも使用することができます。 波括弧を使う代わりに、IF(式) の後にはコロン(:)、 一つ以上の文、そして、最後に ENDIF; を使います。 次の例について考えてみましょう。

<?php if ($a==5): ?>
A = 5
<?php endif; ?>

上の例では、HTML ブロック "A_5" はこの構文で 書かれた IF 文の内部で入れ子になっています。 この HTML ブロックは、 $a が 5 の場合にのみ表示されます。

この方法は、ELSE や ELSEIF(式) にも同様に適用することができます。 次の例は、この形式で IF 文を ELSEIF および ELSE と共に使用しています。

if ($a==5):
    print "a は 5 に等しい";
    print "...";
elseif ($a==6):
    print "a は 6 に等しい";
    print "!!!";
else
    print "a は 5 でも 6 でもない";
endif;