Questão de Programação — HTML (HyperText Markup Language) — FGV 2023
Programação›HTML (HyperText Markup Language)
Código
fg063734
Banca
FGV
Órgão
DPE-RS
Ano
2023
Nível
Médio
Cargo
Técnico - Apoio Especializado - Programador
Uma forma de criar dicionários no PHP é com a utilização de arrays associativos, em que o uso de índices textuais permite a definição de chaves associadas aos valores das posições indexadas.O código utilizado para imprimir os valores como itens de uma lista HTML é:
Eforeach key=>value in range(START,_END):echo("<li> $key :: $value </li>");
Revelar gabarito e comentário▾
GabaritoC — foreach($values as $key=>$value)
echo("<li> $key :: $value </li>");
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”.
PHP: Arrays Associativos e Listas HTML
Gabarito: letra C. A estrutura correta para percorrer um array associativo e imprimir chave e valor como itens de lista HTML é o foreach($array as $chave => $valor). A alternativa C respeita essa sintaxe, enquanto as demais apresentam erros como uso de for com chaves textuais, operador in (Python), método -> (objeto), ou range inadequado.
A banca testa o conhecimento da sintaxe específica do PHP para iteração em arrays associativos. Lembre-se: no PHP, foreach é o comando adequado; for numérico não se aplica a chaves textuais, e construções de outras linguagens (como in do Python ou -> do JavaScript) não funcionam.
Alternativa A — ❌ Incorreta
Usa for($key = $_START; $key <= $_END; $key++). O for é apropriado para índices numéricos, mas arrays associativos possuem chaves textuais arbitrárias – não há uma sequência numérica contínua. As variáveis $_START e $_END não estão definidas no código (são provavelmente placeholders, mas não fazem parte do array). Além disso, acessa $values[$key] (aqui o array se chama $values, mas no enunciado é $values? A questão não define o nome, mas a alternativa C usa $values também). O problema principal é a inadequação do for para chaves não numéricas.
Alternativa B — ❌ Incorreta
Usa for($item in $values). Essa sintaxe (for ... in) não existe no PHP; é típica do Python. Além disso, $item->key e $item->value tratam os elementos como objetos, mas os arrays associativos são acessados via colchetes ($item[key]). Não há garantia de que o array contenha objetos.
Alternativa C — ✅ Correta ⟵ GABARITO
Sintaxe correta do foreach: foreach($values as $key=>$value). Imprime cada par chave-valor dentro de <li>. As variáveis $key e $value são interpoladas na string com aspas duplas. O código está completo e funcional.
Alternativa D — ❌ Incorreta
Usa for $item in range($_START,$_END):. Novamente, sintaxe não-PHP (for ... in é Python, e range() é uma função do Python). O uso de : no final também não é padrão no PHP (exceto em estruturas alternativas como foreach:). O acesso $item->key também trata como objeto, incorreto.
Alternativa E — ❌ Incorreta
Usa foreach $key=>$value in range($_START,$_END):. A função range() gera um array de números, não um array associativo com as chaves originais. O foreach com in não é sintaxe PHP (o correto é foreach($array as $key=>$value)). O : indica sintaxe alternativa, mas ainda assim a lógica está errada.
NÃO CAIA NESSA!
A banca mistura sintaxes de outras linguagens (Python, JavaScript, objeto) para confundir quem decorou superficialmente o PHP. Fique atento: no PHP, foreach com as é a única forma correta; for só funciona com índices numéricos; e in não existe.