Estruturas de Controle
PHP Manual / HOSPEDAGEM / Hospedagem de Sites / Registro de Domínio / Servidor Dedicado / Revenda / Web local / Php Manual Espanhol / Php Manual Francês / Php Manual Inglês

elseif/else if

elseif, como seu nome sugere, é uma combinação de if e else. Da mesma forma que o else, ele estende um comando if para executar uma instrução diferente no caso de a expressão if original ser avaliada como FALSE. Porém, ao contrário de else, ele executará aquela expressão alternativa somente se a expressão condicional do elseif for avaliada como TRUE. Por exemplo, o código a seguir mostraria a é maior que b, a é igual a b ou a é menor que b:

<?php
if ($a $b) {
    echo 
"a é maior que b";
} elseif (
$a == $b) {
    echo 
"a é igual a b";
} else {
    echo 
"a é menor que b b";
}
?>

Podem haver vários elseifs dentro da mesma instrução if. A primeira expressão elseif (se houver) que for avaliada como TRUE será executada. No PHP, você também pode escrever 'else if' (em duas palavras) e o comportamento será idêntico a um 'elseif' (em uma só palavra). O significado sintático é ligeiramente diferente (se você está familiarizado com C, eles tem o mesmo comportamento), mas no final das contas ambos teriam exatamente o mesmo comportamento.

O comando elseif só é executado se a expressão if precedente e quaisquer expressões elseif anteriores forem avaliadas como FALSE, e a expressão elseif atual for avaliada como TRUE.

Nota: Note que elseif e else if somente será considerado exatamente o mesmo quando usando chaves com no exemplo acima. Quando usando dois pontos para definir sua condição if/elseif, você não deve separar else if em duas palavras, ou o PHP falhará com um parse error.

<?php

/* Método incorreto: */
if($a $b):
    echo 
$a." is greater than ".$b;
else if(
$a == $b): // Não compilará.
    
echo "The above line causes a parse error.";
endif;


/* Método correto: */
if($a $b):
    echo 
$a." is greater than ".$b;
elseif(
$a == $b): // Note a combinação das palavras.
    
echo $a." equals ".$b;
else:
    echo 
$a." is neither greater than or equal to ".$b;
endif;

?>


Estruturas de Controle
PHP Manual / HOSPEDAGEM / Hospedagem de Sites / Registro de Domínio / Servidor Dedicado / Revenda / Web local / Php Manual Espanhol / Php Manual Francês / Php Manual Inglês