Questão de Programação — Linguagens de programação — FCC 2024
- 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
- A

- B

- C

- D

- E






GabaritoB — [imagem]
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'.
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.
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.
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.
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.
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.
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