PHP if elseif

Resumo : neste tutorial, você aprenderá sobre a if elseifinstrução PHP para executar blocos de código baseados em múltiplas expressões booleanas.

Introdução à instrução PHP if elseif

A ifinstrução avalia expressione executa um bloco de código se for expressionverdadeiro:

<?php

if (expression) {
	statement;
}Linguagem de código:  HTML, XML  ( xml )

A ifinstrução pode ter uma ou mais elseifcláusulas opcionais. O elseifé uma combinação de ife else:

<?php

if (expression1) {
	statement;
} elseif (expression2) {
	statement;
} elseif (expression3) {
	statement;
}Linguagem de código:  HTML, XML  ( xml )

O PHP avalia expression1e executa o bloco de código na ifcláusula se expression1for true.

Se expression1for false, PHPavalia expression2na próxima elseifcláusula. Se o resultado for true, então o PHP executa a instrução nesse elseifbloco. Caso contrário, o PHP avalia o arquivo expression3.

Se expression3for true, o PHP executa o bloco que segue a elseifcláusula. Caso contrário, o PHP o ignora.

Observe que quando uma ifinstrução tem múltiplas elseifcláusulas, elseifserá executada somente se a expressão na cláusula ifor anterior elseiffor avaliada como false.

O fluxograma a seguir ilustra como a if elseifinstrução funciona:

O exemplo a seguir usa a if elseifinstruçã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 yconforme o esperado.

PHP if elseif sintaxe alternativa

PHP também suporta uma sintaxe alternativa sem elseifusar 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 ifou elseif.
  • Use a endifpalavra-chave em vez de chaves ( }) no final da ifinstrução.

O exemplo a seguir usa a elseifsintaxe 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 ifcaso, é igual à seguinte if...elseestrutura aninhada:

if (expression) {
	statement;
} else {
	if (expression2) {
		statement2;
	}
}Linguagem de código:  JavaScript  ( javascript )

Se você usar a sintaxe alternativa, precisará usar a if...elseifinstrução em vez da if...else ifinstruçã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...elseifinstrução para avaliar múltiplas expressões e executar blocos de código condicionalmente.
  • Apenas o if...elseifsuporta sintaxe alternativa, o if...else ifnão.
  • Use elseifsempre que possível para tornar seu código mais consistente.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *