Um dica para diminuir a quantidade de linhas de código, deixando a codificação mais objetiva, evitando aquele monte de condições, ocupando várias linhas de código, é utilizar o operador condicional ternário.
Veja uma forma comum, e depois outra otimizada com operador ternário:
$temperatura = 18;
if($temperatura > 25)
{
echo "Esta calor!";
}
else
{
echo "Esta frio!";
}
Nós podemos diminuir a quantidade de código drasticamente utilizando o operador ternário:
$temperatura = 18;
echo $temperatura > 25?"Esta calor!":"Esta frio!";
A princípio pode parecer confuso pra quem não esta acostumado, mas entendendo a sintaxe você verá que o código de condições if else simples, ficam mais fáceis de serem escritos desta maneira.
A sintaxe é:
$algo = <condição>?<se verdadeiro>:<se falso>;
Essa condição é igual a condição de qualquer if, que inclusive pode ter multiplas condições:
$temperatura = 18;
$agasalho = true;
echo $temperatura < 20 && $agasalho == false?
"Vou passar frio!":
"Não vou passar rio!";
Imprime não vou passar frio. Pulei linha apenas para facilitar a visualização, o operador ternário pode ser feito em apenas uma linha.
Também é possível aninhar operadores ternários, lembrando que pode não ser uma boa prática, ja que o código pode ficar confuso:
$temperatura = 18;
$agasalho = true;
echo $temperatura > 20?
"Esta calor!":
($agasalho == false?
"Vou passar muito frio, estou sem agasalho!":
"Esta frio mas estou agasalhado");
Imprime Esta frio mas estou agasalhado, tudo isso em apenas uma linha pode parecer confuso!
Atentem-se bem aos parêntesis, pois as condições internas serão resolvidas primeiro, portanto a colocação ou não dos parêntesis irão alterar o resultado da comparação.
Você também pode usar operador ternário pra retorno de funções:
function clima()
{
$temperatura = 18;
return $temperatura > 20?'quente':'frio';
}
echo "O clima esta ".clima();
Eu utilizo muito Operador ternário para verificar variáveis de post:
$algo = empty($_POST['produto'])?'outro produto':$_POST['produto'];
//a função empty é tema para outro post
Obs.: Este tipo de operador de comparação é utilizado em outras linguagens também, inclusive javascript.
Esses foram alguns exemplos de como utilizar operador ternário no PHP. Espero que tenham gostado e até mais!
Basta clicar em algum anúncio da header ou sidebar e aguardar pelo menos 10 segundos
Gostei muito do artigo, antes eu tinha um pouco de dificuldade para entender sobre os operadores ternários, mas agora consegui entender com clareza a sintaxe… muito obrigado! 😀
Desculpe a demora em responder wemerson. Mas Obrigado por acompanhar o post!