array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'control-structures.else.php', 1 => 'else', ), 'up' => array ( 0 => 'language.control-structures.php', 1 => '制御構造', ), 'prev' => array ( 0 => 'control-structures.if.php', 1 => 'if', ), 'next' => array ( 0 => 'control-structures.elseif.php', 1 => 'elseif/else if', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'language/control-structures/else.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
ある条件が満たされている場合にある文を実行し、
その条件が満たされていない場合に別の文を実行したいと考えた
ことが度々あるかと思います。
このためにelse
があります。
else
は、if
文における式の値が
false
の場合にある文を
実行するようにif
文を拡張します。
例えば、次のコードは、$aが
$bよりも大きい場合に
aはbより大きいと表示し、
そうでない場合に、
aはbよりも大きくないと表示します。
<?php
if ($a > $b) {
echo "aはbよりも大きい";
} else {
echo "aはbよりも大きくない";
}
?>
else
文は、if
式が
false
と評価された場合のみ実行されます。
また、elseif
式がある場合には、それも
false
と評価された場合にのみ実行されます。
(elseif参照)
注意: else がぶら下がる場合
if
-else
文がネストした場合、else
は常に、もっとも近いif
文に関連付けられます。どうインデントされているかに関わらず (PHP では、インデントは結果に影響しません)、<?php
$a = false;
$b = true;
if ($a)
if ($b)
echo "b";
else
echo "c";
?>else
はif ($b)
に関連付けられます。 よって、この例は何も出力しません。 この振る舞いが正しいことに依存している場合、 曖昧さを解決するために波括弧を使うことを推奨します。