🎯 O que você vai aprender nesta aula:
- O que é o Operador Ternário (
?:). - Como transformar blocos gigantes de IF/ELSE em apenas uma linha.
- Exemplos práticos de uso no dia a dia.
- Bônus Sênior: Conheça o Operador de Coalescência Nula (
??).
Em um tutorial passado do nosso curso de PHP, mencionamos uma verdade absoluta: o bom programador é "preguiçoso". Mas calma, não no sentido pejorativo da palavra! Dizemos isso no sentido de buscar sempre a solução mais simples, eficiente, limpa e direta para um problema.
O que é o Operador Ternário no PHP ( ?: )
Você já deve estar cansado de escrever estruturas condicionais clássicas, que ocupam várias linhas de código no seu arquivo, como esta:
<?php
if (condicao_for_verdadeira) {
$resultado = "Faz isso";
} else {
$resultado = "Faz aquilo";
}
?>
Achando que isso era escrever demais para tomar decisões simples, os criadores da linguagem implementaram o Operador Ternário (representado pelos símbolos ?:). Ele é, basicamente, um IF e um ELSE comprimidos em uma única linha!
A Sintaxe do Operador Ternário
A estrutura funciona como uma pergunta e duas respostas possíveis:
teste_condicional ? valor_se_TRUE : valor_se_FALSE;
Ou seja, você faz um teste (uma pergunta). O ponto de interrogação ? avalia isso. Se for verdade, ele retorna o que está imediatamente após a interrogação. Se for falso, ele ignora a primeira opção, pula os dois pontos : e retorna o último valor.
Exemplo 1: Verificação de Idade
Exercício: Crie um script PHP que pede a idade de um usuário. Se for menor de 18, diga que ele ainda não pode dirigir. Se for maior ou igual, avise que ele já pode dirigir. Use o operador ternário.
Veja como o código fica extremamente curto:
<html>
<head>
<title>Apostila PHP Progressivo</title>
</head>
<body>
<form action="" method="get">
Sua Idade: <input type="number" name="age" required />
<input type="submit" value="Testar" />
</form>
<?php
if(isset($_GET['age'])) {
$idade = $_GET['age'];
// A mágica acontece aqui, direto no echo!
echo ($idade < 18) ? "Você ainda não pode dirigir." : "Você JÁ pode dirigir!";
}
?>
</body>
</html>
🚀 Escreva menos, programe mais!
A diferença entre um código amador e um código profissional muitas vezes está nos detalhes, como saber a hora certa de usar um operador ternário. Para treinar essas "sacadas" de programação com centenas de exemplos práticos, baixe agora a Apostila PHP Progressivo. Estude no seu ritmo, sem depender da internet!
Baixar Apostila Completa →Exemplo 2: Sistema de Notas de Aluno
Exercício: Crie um script em PHP que pergunte a média final do aluno. Se for menor que 7, avise que ele foi reprovado. Igual ou acima de 7, ele passou direto.
<html>
<head>
<title>Apostila PHP Progressivo</title>
</head>
<body>
<form action="" method="get">
Média do Aluno: <input type="number" step="0.1" name="media" required />
<input type="submit" value="Verificar Status" />
</form>
<?php
if(isset($_GET['media'])) {
$media = $_GET['media'];
// Salvando o resultado do ternário direto dentro de uma variável
$status = ($media < 7) ? "Reprovado" : "Aprovado";
echo "<h3>O aluno está: $status</h3>";
}
?>
</body>
</html>
🔥 Bônus Sênior: O Operador Null Coalescing (??)
Você reparou que nos exemplos usamos isset($_GET['nome_do_campo']) para verificar se o formulário foi enviado antes de tentar usar a variável? Se não fizermos isso, o PHP exibe um erro de "Undefined index".
Nas versões mais recentes do PHP (7+), foi criado um "irmão" mais novo para o operador ternário, focado exatamente nisso: o Operador de Coalescência Nula (??). Ele verifica se algo existe; se existir, ele usa. Se não existir (for nulo), ele usa um valor padrão. Exemplo rápido:
$nome = $_GET['usuario'] ?? 'Visitante Anônimo';
Seu código já está ficando com cara de profissional! Vamos para o próximo desafio?
Continuar Curso (Próxima Aula) »
Nenhum comentário:
Postar um comentário