Questão nº 47
Questão de Tecnologia da Informação · FCC TRT20 2024 (nº 47)
FCC2024Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Bver comentário ↓
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'. Para isso ele deve usar o comando
- A
$u = $_GET['user'] ?? $_GET['user'] :: 'convidado'; - B
$u = $_GET['user'] ?? 'convidado';(alternativa correta) - C
$u = $_GET['user'] => isset($_GET['user']) ? $_GET['user'] : 'convidado'; - D
$u = if($_GET['user'] => isset($_GET['user'])) ? $_GET['user'] : 'convidado'; - E
$u = if($_GET['user']) ? $_GET['user'] : 'convidado';
Resposta comentada
Gabarito Alternativa B
O operador de coalescência nula (??) no PHP permite atribuir um valor a uma variável verificando se outra variável existe e não é nula; caso contrário, um valor padrão é usado.
- (A) Incorreta: A sintaxe
::é usada para acessar membros estáticos de uma classe ou constantes de classe, não para atribuição condicional. A linha contém um erro de sintaxe. - (B) Correta: Esta é a forma correta de usar o operador de coalescência nula (
??). Ele verifica se$_GET['user']existe e não énull. Se sim,$urecebe o valor de$_GET['user']. Caso contrário,$urecebe'convidado'. - (C) Incorreta: O operador
=>é usado para associar chaves a valores em arrays ou em expressõesmatch, não para construir uma expressão de atribuição condicional dessa forma. A sintaxe está incorreta. - (D) Incorreta: O
ifé uma estrutura de controle (uma declaração), não uma expressão que retorna um valor para ser atribuído. Além disso, o operador=>está sendo usado de forma incorreta. A sintaxe é inválida. - (E) Incorreta: A armadilha aqui é tentar usar o
ifcomo parte de uma expressão de atribuição. Oifé uma declaração de controle de fluxo e não pode ser usado diretamente dentro de uma expressão que retorna um valor para ser atribuído a uma variável. Embora a lógica de um operador ternário (condição ? valor_se_verdadeiro : valor_se_falso) seja similar, oifnão é o operador correto para isso.
Fonte: FCC TRT20 2024 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 004). Reproduzida para fins de estudo.