
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.
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");
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.
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.
É 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
Módulo gratuito Roger_CnpjAlfanumerico que aplica máscara e validação do novo CNPJ alfanumérico no checkout e formulários do Magento 2 e…
A partir de 06/07/2026 a Receita passa a emitir CNPJ alfanumérico. Conheça o plugin grátis que aplica máscara e validação…
Para remover um módulo do Magento 2, siga os passos abaixo: 1. Desabilitar o módulo Primeiro, desabilite o módulo usando…
Para cancelar 100% do pedido e criar um crédito para todos os itens através da API REST do Magento 2,…
No Magento 2, a quantidade "reservada" na "Salable Quantity" é gerenciada principalmente pelos módulos MSI (Multi-Source Inventory). A "Salable Quantity"…
Como corrigir o erro ao acessar o Admin do Magento 2. Mesmo após fazer o login, permanece na tela de…