Médio PHP
Manipulando array associativo de produto
Enunciado
Crie um array associativo representando um produto com as chaves nome, preco e quantidade. Exiba cada chave e valor no formato chave: valor. Depois, adicione a chave total com o valor preco * quantidade e exiba o array completo usando print_r.
Requisitos
- O array deve ter as chaves
nome,precoequantidadecom valores à sua escolha. - Use
foreachpara exibir cada par chave/valor no formatochave: valor. - Adicione a chave
totalcalculada e exiba o array comprint_r.
Código inicial
<?php
// Crie o array associativo do produto
// Exiba com foreach
// Adicione total e mostre com print_r
Saída esperada
nome: Caneta
preco: 2.5
quantidade: 10
Array
(
[nome] => Caneta
[preco] => 2.5
[quantidade] => 10
[total] => 25
)
Ver dica
Para adicionar uma nova chave, basta atribuir: $produto['total'] = .... Use print_r($produto) para exibir o array formatado.
Mostrar solução
<?php
// Array associativo do produto
$produto = [
"nome" => "Caneta",
"preco" => 2.5,
"quantidade" => 10
];
// Exibe cada par chave/valor
foreach ($produto as $chave => $valor) {
echo "$chave: $valor\n";
}
// Adiciona a chave total
$produto["total"] = $produto["preco"] * $produto["quantidade"];
// Exibe o array completo
print_r($produto);
Passo a passo
- Criamos o array associativo
$produtocom as chavesnome,precoequantidade. - Usamos
foreachcom a sintaxe$chave => $valorpara acessar tanto a chave quanto o valor de cada elemento. - Dentro do laço, imprimimos
"$chave: $valor\n", mostrando cada par. - Após o laço, calculamos o total multiplicando
precoporquantidadee armazenamos em$produto["total"]. - Chamamos
print_r($produto)para exibir a estrutura completa do array de forma legível.
Por que funciona
Arrays associativos permitem armazenar dados relacionados com nomes significativos. O foreach com chave e valor é perfeito para percorrer esses arrays, pois acessa diretamente cada par. A atribuição $produto["total"] cria uma nova chave dinamicamente, demonstrando a flexibilidade dos arrays em PHP.
Erros comuns
- Usar
$produto[total]sem aspas: o PHP interpretatotalcomo uma constante, gerando erro. Use$produto["total"]. - Esquecer o
=>noforeach:foreach ($produto as $chave, $valor)causa erro de sintaxe. O correto éas $chave => $valor. - Calcular o total antes de definir
precoequantidade: resultaria emnullou aviso. Certifique-se de que as chaves existem.
Outra forma de resolver
Podemos usar array_walk para exibir os pares, mas o foreach é mais claro. Para adicionar o total, também poderíamos usar array_merge, mas a atribuição direta é mais simples.
Saída esperada
nome: Caneta
preco: 2.5
quantidade: 10
Array
(
[nome] => Caneta
[preco] => 2.5
[quantidade] => 10
[total] => 25
)