Resumo : neste tutorial, você aprenderá sobre a if elseif
instrução PHP para executar blocos de código baseados em múltiplas expressões booleanas.
Introdução à instrução PHP if elseif
A if
instrução avalia expression
e executa um bloco de código se for expression
verdadeiro:
<?php
if (expression) {
statement;
}
Linguagem de código: HTML, XML ( xml )
A if
instrução pode ter uma ou mais elseif
cláusulas opcionais. O elseif
é uma combinação de if
e else
:
<?php
if (expression1) {
statement;
} elseif (expression2) {
statement;
} elseif (expression3) {
statement;
}
Linguagem de código: HTML, XML ( xml )
O PHP avalia expression1
e executa o bloco de código na if
cláusula se expression1
for true
.
Se expression1
for false
, PHP
avalia expression2
na próxima elseif
cláusula. Se o resultado for true
, então o PHP executa a instrução nesse elseif
bloco. Caso contrário, o PHP avalia o arquivo expression3
.
Se expression3
for true
, o PHP executa o bloco que segue a elseif
cláusula. Caso contrário, o PHP o ignora.
Observe que quando uma if
instrução tem múltiplas elseif
cláusulas, elseif
será executada somente se a expressão na cláusula if
or anterior elseif
for avaliada como false
.
O fluxograma a seguir ilustra como a if elseif
instrução funciona:
O exemplo a seguir usa a if elseif
instrução para exibir se a variável $x
é maior que $y
:
<?php
$x = 10;
$y = 20;
if ($x > $y) {
$message = 'x is greater than y';
} elseif ($x < $y) {
$message = 'x is less than y';
} else {
$message = 'x is equal to y';
}
echo $message;
Linguagem de código: HTML, XML ( xml )
Saída:
x is less than y
O script mostra a mensagem x is less than y
conforme o esperado.
PHP if elseif sintaxe alternativa
PHP também suporta uma sintaxe alternativa sem elseif
usar chaves como a seguinte:
<?php
if (expression):
statement;
elseif (expression2):
statement;
elseif (expression3):
statement;
endif;
Linguagem de código: HTML, XML ( xml )
Nesta sintaxe:
- Use um ponto e vírgula (:) após cada condição após a palavra-chave
if
ouelseif
. - Use a
endif
palavra-chave em vez de chaves (}
) no final daif
instrução.
O exemplo a seguir usa a elseif
sintaxe alternativa:
<?php
$x = 10;
$y = 20;
if ($x > $y) :
$message = 'x is greater than y';
elseif ($x < $y):
$message = 'x is less than y';
else:
$message = 'x is equal to y';
endif;
echo $message;
Linguagem de código: HTML, XML ( xml )
A sintaxe alternativa é adequada para uso com HTML.
PHP elseif versus else if
PHP permite que você escreva else if
(em duas palavras) que tenha o mesmo resultado que elseif
(em uma única palavra):
<<?php
if (expression) {
statement;
} else if (expression2) {
statement2;
}
Linguagem de código: PHP ( php )
Neste else if
caso, é igual à seguinte if...else
estrutura aninhada:
if (expression) {
statement;
} else {
if (expression2) {
statement2;
}
}
Linguagem de código: JavaScript ( javascript )
Se você usar a sintaxe alternativa, precisará usar a if...elseif
instrução em vez da if...else if
instrução. Caso contrário, você receberá um erro.
O exemplo a seguir não funciona e causa um erro:
<?php
$x = 10;
$y = 20;
if ($x > $y) :
echo 'x is greater than y';
else if ($x < $y):
echo 'x is equal to y';
else:
echo 'x is less than y';
endif;
Linguagem de código: HTML, XML ( xml )
Resumo
- Use a
if...elseif
instrução para avaliar múltiplas expressões e executar blocos de código condicionalmente. - Apenas o
if...elseif
suporta sintaxe alternativa, oif...else if
não. - Use
elseif
sempre que possível para tornar seu código mais consistente.