Colocado por Marcelo Sabadini em
13/06/2008
Atribuição condicional (IF Ternário)
Atribuição condicional (ternário)
Como eu já falei, um dos comandos mais utilizados por um programador, sem dúvida é o IF. Quando fazemos um IF para fazer a atribuição de uma variável, é muito mais rápido (para programar e para o desempenho) utilizar um IF ternário.
A sintaxe do IF ternário é assim:
condição ? verdadeiro : falso;
Ela funciona exatamente como um IF normal. Porém, depois do ?(interrogação) é quando a condição der verdadeira (true) e depois do
dois pontos) é quando a condição der falso(false).
Veja um exemplo utilizando um IF normal:
$idade = 18;
if($idade > 18){
$mensagem = “Maior de idade”;
} else {
$mensagem = “Menor de idade”;
}
Veja o exemplo IF ternário:
$idade = 18;
$mensagem = ($idade > 18 ? “Maior de idade” : “Menor de idade”);
Como você pode ver, é muito mais rápido, neste caso, fazer um IF ternário.
Perceba que neste exemplo, eu coloquei o ternário entre parênteses, isso deixa a legibilidade do código muito melhor.
Existem programadores que colocam cada parte do ternário entre parênteses. Veja o exemplo abaixo:
(condição) ? (verdadeiro) : (falso)
* é possível colocar um ternário dentro de outro. Mas, fica muito ruim de ler o código. Veja o exemplo:
Faça um seguinte: Tente entender estes ternários e faça eles utilizando um IF normal. Poste o resultado aqui nos comentários.
Abraços
[ UPDATE ]
Segue a resposta do desafio postado por Diego Túlio:
-
<?
-
$idade = 17;
-
if($idade > 18){
-
$mensagem = "Adulto";
-
} else {
-
if ($idade > 12){
-
$mensagem = "Adolescente";
-
} else {
-
$mensagem = "criança";
-
}
-
}
-
echo $mensagem;
-
?>



