Utilizando Operador Ternário no PHP
Neste artigo. Igor Santos mostra como usar um Operador Ternário – uma forma mais enxuta ou curta de usar o comando condicional if – no PHP.

Fala, Dev!
Você sabe o que é um Operador Ternário no PHP↳PHP44 conteúdosPadronizando seu código com PHP CS FixerDev (Back & Front) · mai 2019Docker de imagem. Para rodar projetos PHP em menos de 30 segundosDev (Back & Front) · jan 2026PHP 7.3: conheça as novidades desta versãoDev (Back & Front) · abr 2019Ver tudo em Dev (Back & Front) →? Ele nada mais é do que uma forma mais enxuta ou curta de usar o comando condicional if.
Uma condição é avaliada, e se ela for verdadeira, atribui-se um valor, e se for falsa, atribui-se outro valor. A sintaxe fica assim:
- condição ? expressão 1 : expressão 2
Este operador se torna excelente para pequenas e simples condições de validação, onde não pretende-se escrever muitas linhas de código.
Caso de uso real
Trabalhando em um projeto recentemente (utilizando PHP 7.1 e Laravel 5.7), me deparei com o seguinte problema, onde havia um cadastro de cupons e precisava ser dividido em duas telas para exibição, contendo cupons “ativos” e “inativos”.
Seria fácil de resolver criando duas rotas, duas funções no Controller e duas views para renderizar, ou qualquer outra maneira similar (mas todas levam ao mesmo caminho: reescrita de código!).
Mas vamos lá: escrever código com qualidade (tentar) e sem reescrita!
Eis que o operador ternário resolveu meu problema!

Ao chamar a rota no menu, foi passado dois parâmetros juntos, ativos ou inativos e gerada uma rota get, que recebe o argumento passado e envia para o método index do Controller.

Observação: porém, utilizando as rotas dessa maneira, gerou um conflito e acabou dando problemas ao utilizar os demais métodos do controller chamados na rota Resource, os mesmos sempre redirecionavam para o método index.
Então, para resolver, na rota get foi adicionado o “status”.

No Controller, no método index, recebemos o status enviado na variável $status e utilizamos o operador ternário para validar, comparando o “status” recebido por “ativos” a variável $status (reescreve o valor da variável status aqui) e recebe TRUE. Caso não seja (sendo assim, “inativos”), recebe false.

Assim, se torna possível buscar no banco de dados↳Banco de dados134 conteúdosSQL ou NoSQL: eis a questão!!Data · mar 2020Banco de dados: como organizar e dar segurança para milhões de dados de loteriasData · mai 20215 serviços gratuitos na cloud para bancos de dados PostgresData · fev 2025Ver tudo em Data → todos os cupons ativos ou inativos de forma genérica, utilizando uma cláusula where, onde busca pela coluna “active” (que é um boolean) valores true ou false. E envia o resultado para renderizar na mesma View as informações!
E na View ocorreu o caminho inverso com o operador ternário para montar o título. Caso o status for TRUE, o valor passa a ser Ativos. Caso contrário, Inativos (valor FALSE).

Na View, o título fica assim, conforme a escolha:

Short form (forma curta)
O operador ternário também possui uma versão ainda mais enxuta ou compacta, chamada de “forma curta” ou “short form”.
A sintaxe da short form seria:
(condição /expressão 1) ?: expressão 2
Dessa forma, se a condição/expressão for atendida, a própria será o código a ser executado. Caso contrário, executamos a segunda expressão.
Conclusão
Podemos concluir que utilizando o operador ternário, gastamos menos linhas (do que utilizando if/else, por exemplo) e nosso código fica mais “clean”, sem contar que pode ajudar a resolver problemas do nosso dia a dia!
Espero que tenham gostado deste humilde artigo!






