Pular para o conteúdo principal

Questão de Programação — HTML (HyperText Markup Language) — FGV 2023

ProgramaçãoHTML (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 é:
  1. Afor($key = $_START; $key <= $_END; $key++)echo("<li>".key."::".key." :: ".values[$key]."</li>");
  2. Bfor($item in $values)echo("<li>".item>key."::".item->key." :: ".item->value."</li>");
  3. Cforeach($values as key=>key=>value)echo("<li> $key :: $value </li>");
  4. Dfor iteminrange(item in range(_START,$_END):echo("<li>".item>key."::".item->key." :: ".item->value."</li>");
  5. Eforeach key=>key=>value in range(START,_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.

Gabarito: letra C.

Link permanente: /questoes/fg063734