A instrução if ou “se” somente será executado se a condição dentro dos parênteses é avaliado como true. A condição pode incluir qualquer um dos comparação e operadores lógicos. Em PHP, a condição não tem que ser uma expressão booleana.

<?php
    if ($x == 1){
      echo "x é igual a 1";
    }
?>

Para testar outras condições, a instrução if pode ser estendido com qualquer número de cláusulas elseif. Cada condição adicional só será testado se todas as condições anteriores são falsas.

<?php
     elseif ($x == 2) {
         echo "x é igual a 2";
     }
?>

A instrução if pode ter uma cláusula else, no final, que será executado se todas as condições anteriores forem falsas (false).

<?php
    else {
        echo "x não tem valor definido";
    }
?>

Quanto às chaves, eles podem ser deixados de fora, se apenas uma única declaração precisa ser executado condicionalmente.

<?php
     if ($x == 1)
        echo "x é igual a 1";
     elseif ($x == 2)
        echo "x é igual a 2";
     else
        echo "x não tem valor definido";
?>

Instrução Switch

As verificações de instrução switch para a igualdade entre um número inteiro, float ou string e uma série de case. Em seguida, passa a execução para o caso correspondente. A declaração pode conter qualquer número de cláusulas de caso e pode terminar com um rótulo padrão para o tratamento de todos os outros casos.

<?php
    switch ($x)
    {
       case 1: echo "x é igual a 1"; break;
       case 2: echo "x é igual a 2"; break;
       default: echo "x não tem valor";
     }
?>

Note que as declarações depois de cada rótulo case não são cercados por chaves. Em vez disso, as declarações terminam com a palavra-chave break para sair do switch. Sem a pausa a execução vai cair para o próximo case. Isso pode ser útil se vários casos precisam ser avaliados da mesma maneira.

Sintaxe alternativa

PHP tem uma sintaxe alternativa para as declarações condicionais. Nesta sintaxe, o colchete de abertura da instrução IF é substituído por dois pontos, o colchete de fechamento é removido, e o último colchete de fechamento é substituído pelo endif.

<?php
    if ($x == 1): echo "x é igual a 1";
    elseif ($x == 2): echo "x é igual a 2";
    else: echo "x é diferente";
    endif;
?>

Da mesma forma, a instrução switch também tem uma sintaxe alternativa, que em vez disso usa a palavra-chave endswitch encerrar script.

<?php
    switch ($x):
     case 1: echo "x is 1"; break;
     case 2: echo "x is 2"; break;
     default: echo "x is something else";
    endswitch;
?>

A sintaxe alternativa é muitas vezes preferível para instruções condicionais mais longas, uma vez que torna-se mais fácil de ver.

Modos Mistos

É possível alternar para o modo HTML no meio de um bloco de código. Isso fornece outra forma de escrever instruções condicionais que o texto de saída para a página web.

<!DOCTYPE html>
<html lang="pt-BR">
<head>
	<meta charset="UTF-8">
	<title>Exemplo de Condicional no PHP</title>
</head>
<body>
	<?php if ($x == 1) { ?>
	    This will show if $x is 1.
	<?php } else { ?>
        Otherwise this will show.
	<?php } ?>
</body>
</html>

A sintaxe alternativa também pode ser usado desta forma para fazer o código mais claro.

<!DOCTYPE html>
<html lang="pt-BR">
<head>
	<meta charset="UTF-8">
	<title>Exemplo de Condicional no PHP</title>
</head>
<body>
	<?php if ($x == 1): ?>
	   This will show if $x is 1.
	<?php else: ?>
	   Otherwise this will show.
	<?php endif; ?>
</body>
</html>

Quando a saída de HTML e texto, especialmente blocos maiores, este estilo de codificação é geralmente preferido, pois faz com que seja mais fácil de distinguir entre o código PHP e HTML o conteúdo que aparece na página web.

Operador Ternário

Além dos if e switch existe o operador ternário ( ?: ). Este operador pode substituir uma única cláusula if/else. O operador leva três expressões. Se o primeiro é avaliado como true, em seguida, a segunda expressão é retornado, e se for false, o terceiro é retornado.

<?php
    // Expressão Operador Ternário
    $y = ($x == 1) ? 1 : 2;
?>

Em PHP, este operador pode não apenas ser usado como uma expressão, mas também como uma declaração.

<?php
    //Declaração operador ternário
    ($x == 1) ? $y = 1 : $y = 2;
?>

A expressão refere-se ao prazo de programação de código que é avaliada como um valor, ao passo que uma declaração é um segmento de código que termina com um ponto e vírgula ou um parêntese de fechamento.

Links Importantes

Manual php.net: http://www.php.net/manual/pt_BR/language.control-structures.php

Dúvida, Observações ou Comentários, comente abaixo!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.