Estruturas de Controle
PHP Manual

elseif/else if

(PHP 4, PHP 5, PHP 7)

elseif, como o nome sugere, é uma combinação do if e else. Como o else, estende um if para executar instruções diferentes no caso da expressão if original ser avaliada como FALSE. Entretanto, diferentemente do else, executará uma expressão alternativa somente se a expressão condicional do elseif for avaliada como 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 da mesma declaração if. A primeira expressão elseif (se houver) que retornar TRUE será executada. No PHP, pode-se escrever 'else if' (em duas palavras), e o comportamento será idêntico ao do '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, ambos terão exatamente o mesmo comportamento.

O elseif só é executado se o if precedente ou qualquer elseif for avaliado como FALSE, e o elseif corrente for avaliado como TRUE.

Nota: Note que o elseif e else if só serão considerados exatamente iguais se usados com chaves como no exemplo abaixo. Ao utilizar os dois pontos (:) para definir as condições de if/elseif, não deve-se separar else if em duas palavras, ou o PHP 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;

?>


Estruturas de Controle
PHP Manual