PHP Básico

Operador Ternário no PHP – Exemplos de como utilizar

Como é a utilização do operador ternário no PHP. Exemplos de como você pode utilizar essa pratica para melhorar a qualidade do seu código fonte.

Exemplo básico e conceitual de um operador ternário na programação.

<condição> ? <operação 1> : <operação 2>;

Simples, se a condição for verdadeira, será executada a operação 1, se não, a operação 2.

Você também tem a possibilidade de adicionar mais condições dentro das operações.

No PHP o mesmo cenário ficará dessa forma:

echo ($variavel == 1) ? "Igual 1" : "Não é 1";

Bem simples não?

O exemplo acima substituí o convencional “if” e “else”.

if($variavel == 1){
  echo "Igual a 1";
}else{
  echo "Não é igual a 1";
]

Dessa forma você reduz 5 linhas de código para apenas 1 linha, eficiente não é?

Mais exemplos:

echo (($variavel - 10) > 0 ) ? "positivo" : "negativo";
echo "Olá " . (($usuario_autenticado) ? $usuario_nome : "visitante");

Utilizando “?:”

Uma forma ainda mais curta de utilização do Operador Ternário no PHP é com “?:“.

$mensagem = 'Olá '.($user_name ?: 'visitante');

No exemplo acima, eu encurto ainda mais a nossa condição aonde utilizo “?:”.

Se “$user_name” for um valor válido, ele será concatenado com resto da string, caso contrario utilizo a segunda opção ‘visitante”.

Dessa forma, o proprio valor da condição é utilizado como valor de retorno.

Possíveis problemas do Operador Ternário no PHP

Grande problema que pode ocorrer é a complexidade na leitura e entendimento do código, e obviamente, na sua manutenção.

Como assim? repare no exemplo abaixo:

echo ($idade > 18 ? ($nota < 50 ? 'baixa' : 'alta') : ($score > 50 ? 'alta' : 'baixa'));

É possível adicionar condições dentro das operações, tornando o entendimento do código cada vez mais complexo.

Utilizando apenas 1 nível de condição ou no máximo 2 níveis, já está de bom tamanho, mais do que isso, aconselho a utilização do “if” e “else” junto com operador ternário, intercalando os dois.

Uma observação importante que eu faço é que não existe nenhum ganho de desempenho, então evite exageros, reduzir linhas de código é bom quando é preservado a facilidade de entendimento do código.

Documentação oficial

É importante que você consulte a documentação oficial para ter um conhecimento mais profundo sobre o assunto:

http://us2.php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary

Resumo
Nome do Artigo
Operador Ternário no PHP
Descrição
Exemplos de como utilizar o Operador Ternário no PHP
Autor
Editor
Roger Mauricio Takemiya
Logo do Editor

Post Recentes

Cron do Magento 2 não roda: status missed e pending no cron_schedule

Pedido que não fatura e e-mail que não sai porque todo job fica missed: como ler a cron_schedule, conferir o…

13 horas atrás

Gerar slug de URL em PHP: acento, espaço e símbolo fora do endereço

Uma função curta em PHP 8.3 que transforma Camiseta Preta Tamanho GG em camiseta-preta-tamanho-gg, sem depender do locale do servidor.

1 dia atrás

Log de consentimento LGPD: a tabela MySQL que guarda a prova do aceite

O banner registra o clique só no navegador e some. Veja a tabela MySQL e o endpoint que gravam a…

2 dias atrás

Comando CLI Magento 2: criar a classe e registrar no di.xml

A classe do comando existe e o bin/magento list ignora ela. Falta o registro no di.xml: aqui vai a classe…

3 dias atrás

Traduzir o pt_BR.csv do Magento 2 em lote sem perder a coluna de origem

Como traduzir duas mil linhas do pt_BR.csv do Magento 2 lendo com fgetcsv e regravando com fputcsv, sem encostar na…

3 dias atrás

Variação não está disponível no WooCommerce: limpar transients e lookup

Produto variável respondendo "Desculpe, este produto não está disponível" mesmo com a variação ativa: limpe os transients do WooCommerce e…

4 dias atrás