ある条件が満たされている場合にある文を実行し、 その条件が満たされていない場合に別の文を実行したいと考えた ことが度々あるかと思います。 このためにelseがあります。 elseは、if文における式の値が falseの場合にある文を 実行するようにif文を拡張します。 例えば、次のコードは、$aが $bよりも大きい場合に aはbより大きいと表示し、 そうでない場合に、 aはbよりも大きくないと表示します。
else
if
false
<?php $a = 3; $b = 5; if ($a > $b) { echo "aはbよりも大きい\n"; } else { echo "aはbよりも大きくない\n"; }
上の例の出力は以下となります。
aはbよりも大きくない
elseif
注意: else がぶら下がる場合 if-else 文がネストした場合、 else は常に、もっとも近い if 文に関連付けられます。 <?php $a = false; $b = true; if ($a) if ($b) echo "b"; else echo "c"; 上の例の出力は以下となります。 どうインデントされているかに関わらず (PHP では、インデントは結果に影響しません)、 else は if ($b) に関連付けられます。 よって、この例は何も出力しません。 この振る舞いが正しいことに依存している場合、 曖昧さを解決するために波括弧を使うことを推奨します。
注意: else がぶら下がる場合
if-else 文がネストした場合、 else は常に、もっとも近い if 文に関連付けられます。
<?php $a = false; $b = true; if ($a) if ($b) echo "b"; else echo "c";
if ($b)