Como usar o operador ternário no PHP
O operador ternário (? :
) é uma forma simplificada de escrever um if/else
em uma única linha. Ele é útil para expressões curtas, tornando o código mais conciso e legível.
Sintaxe do operador ternário
O operador ternário segue a estrutura:
(condição) ? valor_se_verdadeiro : valor_se_falso;
Exemplo básico
<?php
$idade = 20;
$status = ($idade >= 18) ? "Maior de idade" : "Menor de idade";
echo $status;
?>
Aqui, se $idade
for maior ou igual a 18, a variável $status
recebe "Maior de idade", senão recebe "Menor de idade".
Operador ternário dentro de echo
Também podemos utilizar o operador ternário diretamente dentro de um echo
:
<?php
$logado = true;
echo $logado ? "Bem-vindo!" : "Por favor, faça login.";
?>
Se $logado
for true
, exibe "Bem-vindo!", senão exibe "Por favor, faça login.".
Encadeando operadores ternários
Podemos aninhar múltiplas condições ternárias:
<?php
$nota = 85;
echo ($nota >= 90) ? "Aprovado com excelência" :
($nota >= 70 ? "Aprovado" : "Reprovado");
?>
Se $nota
for maior ou igual a 90, exibe "Aprovado com excelência"; se for pelo menos 70, exibe "Aprovado"; caso contrário, exibe "Reprovado".
Diferença entre if/else
e o operador ternário
O operador ternário deve ser usado apenas para expressões curtas. Para condições mais complexas, if/else
mantém a legibilidade do código.
Quando usar o operador ternário no PHP?
O operador ternário é um dos recursos mais práticos do PHP para tornar o código mais enxuto. No entanto, é preciso cuidado ao encadear múltiplas expressões, pois pode comprometer a legibilidade. Em alguns casos, usar if/else
ainda é a melhor opção. O ideal é utilizar o operador ternário apenas quando a lógica for simples e direta, como na atribuição de valores baseados em uma única condição.
Algumas aplicações:
- Definir valores baseados em condições simples
- Reduzir a necessidade de estruturas if/else para expressões curtas
- Exibir mensagens condicionais em formulários e interfaces
- Atribuir valores dinâmicos em funções e métodos
Dicas para quem está começando
- Use o operador ternário apenas para expressões curtas e diretas.
- Evite aninhar operadores ternários em condições complexas.
- Se precisar de múltiplas condições, prefira
if/else
para manter a clareza. - Lembre-se de que
? :
pode ser usado diretamente emecho
para exibir valores. - Se a condição envolver muitas comparações, pode ser melhor utilizar
switch/case
.
Contribuições de Rafael Nogueira