Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — FCC 2024

ProgramaçãoLinguagens de programação
Código
fc072146
Banca
FCC
Órgão
TRT - 20ª REGIÃO (SE)
Ano
2024
Nível
Superior
Cargo
Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação
Um desenvolvedor PHP 8 quer garantir que a variável $u receba o valor da variável $_GET[ 'user'] se ela existir e não for nula; caso contrário, a variável $u receberá o valor ' convidado'.
  1. AImagem associada para resolução da questão
  2. BImagem associada para resolução da questão
  3. CImagem associada para resolução da questão
  4. DImagem associada para resolução da questão
  5. EImagem associada para resolução da questão
Revelar gabarito e comentário

GabaritoB — [imagem]

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Operador de coalescência nula no PHP

Gabarito: letra B. O operador de coalescência nula (??), introduzido no PHP 7, é a forma correta e concisa de verificar se uma variável ou índice de array existe e não é nulo, retornando o valor à esquerda caso positivo ou o valor à direita (o padrão) caso contrário.

O PHP oferece diversas formas de lidar com valores opcionais ou nulos. O operador ?? (null coalescing operator) foi criado especificamente para substituir construções mais verbosas como isset($var) ? $var : $default. Ele avalia o operando da esquerda e, se este for null ou não estiver definido, retorna o operando da direita. No caso da questão, $_GET['user'] ?? 'convidado' atende perfeitamente ao requisito de atribuir o valor do parâmetro GET, se presente e não nulo, ou o valor padrão 'convidado'.

Alternativa A — ❌ Incorreta

Utiliza uma sintaxe inválida. O operador ?? não é seguido por uma estrutura de dois pontos (::) para definir o valor padrão; essa estrutura é exclusiva do operador ternário ou de outras construções de linguagem.

Alternativa B — ✅ Correta ⟵ Gabarito

Esta é a sintaxe correta do operador de coalescência nula. Ele verifica se $_GET['user'] existe e não é nulo. Se a condição for verdadeira, o valor é atribuído a $u; caso contrário, o valor 'convidado' é utilizado.

Alternativa C — ❌ Incorreta

O uso de => não é um operador de atribuição condicional ou ternário válido neste contexto. O operador => é utilizado exclusivamente para associar chaves a valores em arrays ou em estruturas de foreach.

Alternativa D — ❌ Incorreta

Tenta utilizar a palavra-chave if dentro de uma expressão de atribuição de forma sintaticamente incorreta. Estruturas de controle como if não podem ser usadas diretamente dessa maneira em uma atribuição de variável.

Alternativa E — ❌ Incorreta

Embora utilize o operador ternário ? :, a sintaxe está incorreta pois tenta usar if como parte da expressão. O operador ternário correto seria isset($_GET['user']) ? $_GET['user'] : 'convidado', mas a alternativa apresenta uma construção inválida.

PEGA ESSA DICA!

O operador de coalescência nula (??) é a melhor prática no PHP moderno para lidar com valores de formulários ou parâmetros de URL que podem não estar presentes, evitando erros de "undefined index" e tornando o código muito mais limpo.

Link permanente: /questoes/fc072146