Menu
Coddy logo textTech

Array associativi 2D

Fa parte della sezione Logica e flusso del percorso PHP di Coddy. Lezione 31 di 68.

Mentre hai lavorato con gli array 2D usando indici numerici, puoi anche creare dati più strutturati utilizzando array associativi sia al livello principale sia all'interno degli array annidati. Questo approccio usa chiavi stringa invece di numeri, rendendo i tuoi dati molto più descrittivi e facili da comprendere.

Ecco come creare un array associativo 2D in cui ogni elemento ha chiavi stringa significative:

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

Puoi anche combinare gli approcci, usando indici numerici per l'array principale e mantenendo array associativi al suo interno:

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

Questa struttura è incredibilmente potente per organizzare dati complessi come profili utente, cataloghi di prodotti o qualsiasi scenario in cui sia necessario memorizzare più proprietà correlate per ciascun elemento. Le chiavi stringa rendono il codice autoesplicativo e molto più facile da mantenere rispetto a ricordare posizioni numeriche.

challenge icon

Sfida

Facile

Riceverai un input: un array associativo bidimensionale che rappresenta un inventario di prodotti in formato JSON. Ogni prodotto ha un ID prodotto univoco come chiave e il valore è un array associativo contenente "name" e "price" del prodotto. Leggi l'input, converti la stringa JSON in un array associativo bidimensionale, scorri tutti i prodotti e stampa le informazioni di ciascun prodotto nel formato: ID: [product_id] - Name: [name] - Price: $[price]

Ogni prodotto deve essere stampato su una riga separata.

Formato dell'input: Una riga contenente un oggetto JSON che rappresenta l'inventario dei prodotti (esempio: {"P001":{"name":"Laptop","price":999.99},"P002":{"name":"Mouse","price":25.50},"P003":{"name":"Keyboard","price":75.00}})

Output previsto: Ogni prodotto stampato su una riga separata nel formato ID: [product_id] - Name: [name] - Price: $[price]

Provalo tu

<?php
// Leggi l'input JSON
$input = fgets(STDIN);

// Converti JSON in un array associativo
$inventory = (array)json_decode($input, true);

// TODO: Scrivi il codice qui sotto per scorrere l'inventario e stampare ogni prodotto


?>
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore PHP online