Questão de Programação — Linguagens de programação — VUNESP 2023
Programação›Linguagens de programação
Código
vu074769
Banca
VUNESP
Órgão
Prefeitura de Guararapes - SP
Ano
2023
Nível
Médio
Cargo
Técnico em Informática
Observe o seguinte trecho de código escrito na linguagem de programação PHP versão 8:setcookie(“CookieSiteInfo[user]”, “Fulano”);setcookie(“CookieSiteInfo[fullName]”, “Fulano da Silva”);setcookie(“CookieSiteInfo[birth]”, “01/01/1990”);Esse trecho informa ao browser um cookie que deve conter dados de um usuário, para acessar especificamente o índice “fullName” desse cookie deve-se escrever:
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”.
Cookies no PHP: acesso a índices de arrays em cookies
Gabarito: letra B. Em PHP, quando um cookie é definido com nome no formato nome[indice], ele é armazenado como um array na superglobal $_COOKIE. Para acessar o valor do índice fullName do cookie CookieSiteInfo, deve-se usar $_COOKIE['CookieSiteInfo']['fullName']. As demais alternativas empregam sintaxes incorretas (case-sensitive, operador objeto, ou string literal).
A questão testa o conhecimento sobre como o PHP trata cookies com nomes que contêm colchetes. No código fornecido, setcookie("CookieSiteInfo[user]", "Fulano"); etc., o PHP cria um único cookie chamado CookieSiteInfo que é um array associativo com as chaves user, fullName e birth. O acesso correto é feito via $_COOKIE['CookieSiteInfo']['fullName'].
Alternativa A — ❌ Incorreta
echo $_COOKIE['fullname']; está errada porque (1) o nome do cookie é CookieSiteInfo, não fullname; (2) a chave fullName é case-sensitive (usa 'N' maiúsculo). E não considera que o cookie é um array.
Alternativa B — ✅ Correta ⟵ GABARITO
echo $_COOKIE['CookieSiteInfo']['fullName']; utiliza a sintaxe correta para acessar um array dentro de $_COOKIE: primeiro o nome do cookie (CookieSiteInfo), depois o índice (fullName).
Alternativa C — ❌ Incorreta
echo $_COOKIE['CookieSiteInfo']->fullName; usa o operador objeto ->, mas $_COOKIE['CookieSiteInfo'] é um array, não um objeto. Acesso a arrays em PHP é feito com colchetes, não com seta.
Alternativa D — ❌ Incorreta
echo $_COOKIE['CookieSiteInfo[fullName]']; tenta acessar um cookie cujo nome literal seria CookieSiteInfo[fullName]. No código, o nome do cookie é CookieSiteInfo, não a string contendo colchetes. O PHP automaticamente interpreta os colchetes como indicadores de array, então a chave real é CookieSiteInfo (um array), e não CookieSiteInfo[fullName].
Alternativa E — ❌ Incorreta
echo $_COOKIE->CookieSiteInfo->fullName; usa sintaxe de objeto em $_COOKIE (que é um array, não um objeto) e também usa -> para acessar propriedades, o que é inválido. A superglobal $_COOKIE é um array associativo, não um objeto.
PEGA ESSA DICA!
No PHP, cookies com nomes como nome[chave] são interpretados como arrays. Para acessar, use $_COOKIE['nome']['chave']. Lembre-se de que os nomes são case-sensitive e que $_COOKIE é um array, não um objeto.