Menu
Coddy logo textTech

Arrays Associativos 2D

Parte da seção Lógica & Fluxo do Journey de PHP da Coddy. Lição 31 de 68.

Embora você tenha trabalhado com arrays 2D usando índices numéricos, também pode criar dados mais estruturados usando arrays associativos tanto no nível principal quanto dentro dos arrays aninhados. Essa abordagem usa chaves de string em vez de números, tornando seus dados muito mais descritivos e fáceis de entender.

Veja como criar um array associativo 2D em que cada elemento tem chaves de string significativas:

<?php
$students = [
    "alice" => [
        "name" => "Alice Johnson",
        "grade" => 92
    ],
    "bob" => [
        "name" => "Bob Smith", 
        "grade" => 87
    ],
    "charlie" => [
        "name" => "Charlie Brown",
        "grade" => 95
    ]
];
?>

Você também pode combinar abordagens, usando índices numéricos para a array principal e mantendo arrays associativos dentro dela:

<?php
$users = [
    ["username" => "john_doe", "email" => "john@example.com"],
    ["username" => "jane_smith", "email" => "jane@example.com"]
];
?>

Essa estrutura é incrivelmente poderosa para organizar dados complexos, como perfis de usuários, catálogos de produtos ou qualquer cenário em que você precise armazenar várias propriedades relacionadas para cada item. As chaves de texto tornam seu código autoexplicativo e muito mais fácil de manter do que lembrar posições numéricas.

challenge icon

Desafio

Fácil

Você receberá uma entrada: uma matriz associativa 2D que representa um inventário de produtos no formato JSON. Cada produto tem um ID de produto exclusivo como chave, e o valor é uma matriz associativa contendo o "name" e o "price" do produto. Leia a entrada, converta a string JSON em uma matriz associativa 2D, percorra todos os produtos e imprima as informações de cada produto no formato: ID: [product_id] - Name: [name] - Price: $[price]

Cada produto deve ser impresso em uma linha separada.

Formato da entrada: Uma linha contendo um objeto JSON que representa o inventário de produtos (exemplo: {"P001":{"name":"Laptop","price":999.99},"P002":{"name":"Mouse","price":25.50},"P003":{"name":"Keyboard","price":75.00}})

Saída esperada: Cada produto impresso em uma linha separada no formato ID: [product_id] - Name: [name] - Price: $[price]

Experimente você mesmo

<?php
// Ler a entrada JSON
$input = fgets(STDIN);

// Converter JSON para array associativo
$inventory = (array)json_decode($input, true);

// TODO: Escreva seu código abaixo para iterar pelo inventário e imprimir cada produto


?>
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo

Pratique por conta própria: Compilador de PHP online