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, preco e quantidade com valores à sua escolha.
  • Use foreach para exibir cada par chave/valor no formato chave: valor.
  • Adicione a chave total calculada e exiba o array com print_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

  1. Criamos o array associativo $produto com as chaves nome, preco e quantidade.
  2. Usamos foreach com a sintaxe $chave => $valor para acessar tanto a chave quanto o valor de cada elemento.
  3. Dentro do laço, imprimimos "$chave: $valor\n", mostrando cada par.
  4. Após o laço, calculamos o total multiplicando preco por quantidade e armazenamos em $produto["total"].
  5. 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 interpreta total como uma constante, gerando erro. Use $produto["total"].
  • Esquecer o => no foreach: foreach ($produto as $chave, $valor) causa erro de sintaxe. O correto é as $chave => $valor.
  • Calcular o total antes de definir preco e quantidade: resultaria em null ou 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
)