Operador condicional (ternário): Como exatamente funciona?

O que significa isso: “isset($_POST[‘name’]) ? $_POST[‘name’] : ‘Convidado’;” ?
Muito conhecido por ser utilizado por programadores ‘preguiçosos’, que evitam criar um código monótono e redundante. O operador ternário é uma versão do “IF…ELSE”, que consiste em agrupar, na mesma linha, os comandos da condição.
Mas qual a diferença dele para o nosso  “IF…ELSE”?
Vamos comparar, primeiro a condição tradicional:

$sexo = 'M';
if($sexo == 'M'){
    $mensagem = 'Olá senhor';
}else{
    $mensagem = 'Olá senhora';
}

E agora como seria a nossa condição com operador ternário:

$sexo = 'M';
$mensagem = $sexo == 'M' ? 'Olá senhor' : 'Olá senhora' ;

Notamos que nosso código foi resumido de 6 linhas para apenas 2, a vantagem é bem clara, não é preciso repetir o nome da variável, pois o valor já é atribuído a ela.
OK, já vimos a comparação das condições, mas agora vamos entender como trabalhar com a estrutura do operador ternário.

$nota = 8;
$resultado = $nota > 7 ? 'Você Passou' : 'Você Reprovou' ;

Na condição o primeiro parâmetro recebe uma expressão booleana, o segundo é o retorno caso essa expressão seja verdadeira, e o último retorna o valor caso a expressão esteja errada. Assim a variável ‘resultado’ fica com o valor ‘Você Passou’.
O operador ternário vai facilitar muito sua vida, mas no caso de condições mais complexas, é aconselhado utilizar o tradicional IF…ELSE.

$cargo = $salario <= 1000 ? 'junior' : $salario <= 5000 ? 'senior' : 'diretor';

Ficou um pouco confuso, né? Então em casos complexos, ou de controle de fluxo, continue utilizando o IF…ELSE, mas quando for pra atribuir um valor a variável, use e abuse da condição ternánia.
Lembre-se, os exemplos dados acima foram feitos em PHP, condições ternárias, podem ser utilizados em outras linguagens, como Javascript.

validaEmail(email) ? enviaEmail(email) : mostraErro();

Adicionar um comentário