PHP: If/else e o operador ternário

Este documento apresenta a estrutura de condição if/else da linguagem PHP. Com ela é possível executar trechos de código apenas se uma condição for atendida.

Os operadores condicionais são um dos recursos mais básicos da programação, e são essenciais no desenvolvimento da lógica de qualquer sistema ou aplicação. Eles são utilizados quando é necessário que determinado código seja executado apenas se atender a uma condição.

Neste documento apresentaremos as estruturas de condição if/else, else if e operador ternário.

If/else

O if/else é um operador condicional utilizado quando desejamos executar um bloco de código apenas se determinada condição for atendida, por exemplo, exibir um conteúdo apenas se o usuário for maior de idade.

Sintaxe do if/else:

<?php if ($condicao) { // código se a condição for atendida } else { // código se a condição não for atendida } ?>

Assim, caso a condição seja atendida, o primeiro bloco de código será executado, senão, é executado o segundo bloco.

Nota:O uso do else não é obrigatório. Em muitos casos apenas o if será suficiente. Além disso, o uso das chaves para delimitar o bloco de código é opcional caso nele seja declarada apenas uma linha. Ainda assim, recomenda-se o uso das chaves visando melhor legibilidade do código.

Exemplo de uso:

<?php $a = 4; $b = 2; if ($a/$b == 2) { echo "O resultado da divisão é 2"; } else { echo "O resultado da divisão não é 2"; } ?>
Run

Neste código verificamos se a divisão de um número é igual a 2. Caso verdadeiro, executamos o primeiro bloco de código, caso contrário, o segundo.

Else if

Além do if/else, existe também a condicional elseif ou else if. Essa opção é utilizada caso seja necessário verificar duas ou mais condições.

Sintaxe do if/else com elseif:

<?php if ($condicaoUm) { // código se a condiçãoUm for atendida } elseif ($condicaoDois) { // código se a condiçãoDois for atendida } else { // código se nenhum das condições forem atendidas } ?>

Observe que agora temos duas condições. Caso nenhuma delas seja atendida, o código declarado dentro do else é executado.

Nota: Podemos declarar quantos elseif forem necessários para atender a lógica a ser implementada.

Exemplo de uso:

<?php $a = 8; $b = 2; if ($a/$b==2) { echo "O resultado da divisão é 2"; } elseif ($a/$b==4) { echo "O resultado da divisão é 4"; } else { echo "O resultado da divisão não é 2 nem 4"; } ?>
Run

Este código é semelhante ao anterior, mas como declaramos mais uma condição foi necessário utilizar o elseif.

Operador ternário

Outra estrutura de condição é o operador ternário, o qual também é chamado de if ternário. Em suma, ele é uma versão compacta do if.

Sintaxe do operador ternário:

condição ? codigoUm : codigoDois;

Primeiro declaramos a condição; logo após o sinal de interrogação (?), o código a ser executado caso a condição seja verdadeira; e depois dos dois pontos, o código a ser executado caso contrário.

Exemplo de uso:

<?php $a = 8; $b = 2; echo $a/$b == 2 ? "O resultado da divisão é 2" : "O resultado da divisão não é 2"; ?>
Run

O resultado da execução deste código será a impressão da mensagem “O resultado da divisão não é 2”.

Forma curta ou short form

O operador ternário também possui uma versão ainda mais compacta, chamada de "forma curta" ou short form". A sintaxe da forma curta do operador ternário é:

(condição/codigoUm) ?: codigoDois;

Dessa forma, caso a condição seja atendida, a própria será o código a ser executado, caso contrário, será executado o "codigoDois".

Exemplo de uso:

$nome = "Fulano de tal"; $nome = ($nome) ?: "Sem nome";
Run
Nota: A forma curta do operador ternário só está disponível a partir da versão 5.3 do PHP.

Exemplo prático

Suponha que você está desenvolvendo um site e precisa exibir alguns conteúdos conforme a idade dos usuários. Para usuários com menos de 18 anos, a renderização de alguns conteúdos não deve ser realizada. Para implementar essa lógica podemos fazer uso das estruturas de condição.

Exemplo de uso com if/else:

<?php $idade = 18; if ($idade >= 18) { $x = "É maior de idade"; } else { $x = "É menor de idade"; } echo $x; ?>
Run

Exemplo de uso com o operador ternário:

<?php $idade = 18; $x = $idade >= 18 ? "É maior de idade" : "É menor de idade"; echo $x; ?>
Run

Em ambos os códigos, caso a idade do usuário seja maior ou igual a 18, a mensagem “É maior de idade” é impressa; caso contrário, é impressa a mensagem “É menor de idade”.

Artigos relacionados