(PHP 4, PHP 5)
elseif, é o que o nome sugere, uma combinação
do if e do else. Como o
else, ele extende um if
para executar instruções diferentes no caso do
if original retornar
FALSE
. Entretanto, diferente do
else, ele executará uma expressão alternativa
somente se a condição do elseif
retornar TRUE
. Por exemplo, o código
a seguir exibirá a is bigger than
b, a equal to b
ou a is smaller than b:
<?php
if ($a > $b) {
echo "a is bigger than b";
} elseif ($a == $b) {
echo "a is equal to b";
} else {
echo "a is smaller than b";
}
?>
Pode haver vários elseifs dentro do mesmo
if. A primeira expressão
elseif (se houver) que retornar
TRUE
será executado. No PHP, você pode
escrever 'else if' (em duas palavras) que o comportamento será idêntico
a 'elseif' (em uma única palavra). O significado sintático
é um pouco diferente (se você está familiarizado com C, o comportamento
é o mesmo) mas no fundo é que ambos terão exatamente
o mesmo comportamento.
O elseif só é executado se o
if precedente ou qualquer
elseif retornar
FALSE
, e o elseif
atual retornar
TRUE
.
Nota: Note que elseif e else if só serão considerados exatamente iguais se usados com chaves como no exemplo abaixo. Quando usando com dois pontos (:) para definir as condições if/elseif, você não pode separar else if em duas palavras, ou o PHP irá falhar com um erro de interpretação.
<?php
/* Incorrect Method: */
if($a > $b):
echo $a." is greater than ".$b;
else if($a == $b): // Will not compile.
echo "The above line causes a parse error.";
endif;
/* Correct Method: */
if($a > $b):
echo $a." is greater than ".$b;
elseif($a == $b): // Note the combination of the words.
echo $a." equals ".$b;
else:
echo $a." is neither greater than or equal to ".$b;
endif;
?>