1
resposta

Dúvida

Estou com duvuda de como a expressão devera de ser feita

Além das estruturas de controle de fluxo que vimos até aqui (if/elseif/else, switch case e match), o PHP também possui um operador que nos permite tomar decisões que resultam em uma expressão: o operador ternário ?:.

Esse operador serve para avaliar determinada expressão, caso seja verdadeira, retornar uma segunda expressão e, caso seja falso, retornar uma terceira expressão. O uso de 3 possíveis expressões é o que dá nome a esse operador. Sua sintaxe é a seguinte:

$resultado = $expressao1 ? $expressao2 : $expressao3;
Copiar código
Se $expressao1 for verdadeira (true), $resultado terá o valor de $expressão2. Caso contrário, $resultado terá o valor de $expressão3.

Esse operador não é tão simples de se entender no início, então, não se preocupe se não tiver ficado claro por enquanto. Conforme nós vamos avançando nos estudos, esse tipo de operador mais “complexo” vai fazer mais sentido.

1 resposta

Oi, João.

Compreender o operador ternário pela primeira vez pode gerar algumas confusões, mas ele nada mais é do que uma forma reduzida de escrever um if/else quando queremos atribuir um valor a uma variável.

Pra facilitar a construção da sua expressão, pense nele como uma pergunta rápida que o código faz.

Estrutura comparativa:

Imagine que você quer verificar se um aluno foi aprovado. No formato tradicional, faríamos assim:

if ($nota >= 6) {
    $status = "Aprovado";
} else {
    $status = "Reprovado";
}

Com o operador ternário, transformamos essas 5 linhas em apenas uma:

$status = ($nota >= 6) ? "Aprovado" : "Reprovado";

Como montar a sua expressão:

Pra não errar na montagem, siga este roteiro:

  1. A condição ($expressao1): É o teste lógico. Vem sempre antes da interrogação ?. Exemplo: $idade >= 18.
  2. O valor se verdadeiro ($expressao2): O que acontece se a condição for real. Fica entre o ? e os :. Exemplo: "Maior de idade".
  3. O valor se falso ($expressao3): O que acontece se a condição não for atendida. Vem logo após os :. Exemplo: "Menor de idade".

Exemplo prático no PHP:

Se você estiver desenvolvendo um sistema de login e quiser saudar o usuário:

$usuarioLogado = true;

// A expressão verifica o estado da variável
$mensagem = $usuarioLogado ? "Bem-vindo de volta!" : "Por favor, faça login.";

echo $mensagem;

Quando utilizar?

O uso desse operador é recomendado para atribuições simples e diretas. Se você precisar realizar muitas verificações ou executar blocos de código grandes, o if tradicional continua sendo a melhor opção para garantir que o código seja fácil de ler.

Espero que essa explicação ajude a clarear como estruturar suas condições.

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!