Questão FC373368
Um desenvolvedor PHP 8 quer garantir que a variável Su receba valor da variável S_GET[ 'user'] se ela existir e não for nula; caso contra á variável, $ u receberá o valor 'convidad
Desenvolvimento Web
FCC · 2024
Um desenvolvedor PHP 8 quer garantir que a variável Su receba valor da variável S_GET[ 'user'] se ela existir e não for nula; caso contra á variável, $ u receberá o valor 'convidado" Para isso ele deve usar *o co.man do
- $u = $_GET['user'] ?? $_GET['user'] :: 'convidado';
- $u = $_GET['user'] ?? 'convidado!;
- $u = $_GET['user'] => isset ($_GETe['uster' ]) ? $_GET['user'] : 'convidado';
- $u = if($_GET[i'user'] => isset($_GET['user'])) ? $_GET['user'] : 'convidado';
- $u = if($_GET['user']) ? $_GET['user'] : 'convidado!;
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
A instrução $u = $_GET['user'] ?? 'convidado'; usa o operador de coalescência nula (??), disponível desde o PHP 7 e mantido no PHP 8.
Esse operador verifica se a expressão à esquerda está definida e não é nula; se for, seu valor é retornado; caso contrário, é utilizado o valor à direita. No exemplo, $u recebe $_GET['user'] quando existe e não é null, e recebe a string 'convidado' caso contrário.
O uso de ?? evita a necessidade de escrever um ternário com isset(), pois equivale a isset($_GET['user']) ? $_GET['user'] : 'convidado', mas com sintaxe mais curta. Além disso, ao utilizar $_GET['user'] ?? ... não é gerado aviso de índice indefinido quando a chave não existe.
Conteúdo do catálogo FC Concursos · Atualizado em