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";
}
?>

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";
}
?>

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";
?>

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";
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;
?>

Exemplo de uso com o operador ternário:

<?php

$idade = 18;

$x = $idade >= 18 ? "É maior de idade" : "É menor de idade";

echo $x;
?>

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”.