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