Menu
Coddy logo textTech

Iterare con chiavi e valori

Fa parte della sezione Fondamenti del percorso PHP di Coddy. Lezione 50 di 71.

Nella lezione precedente, hai imparato come foreach ti consente di accedere a ogni valore di un array. Ma cosa succede se ti serve anche la chiave? Questo è particolarmente utile quando lavori con array associativi.

Il ciclo foreach ha una sintassi estesa che fornisce sia la chiave sia il valore a ogni iterazione:

<?php
$person = [
    "name" => "Alice",
    "age" => 25,
    "city" => "Paris"
];

foreach ($person as $key => $value) {
    echo "$key: $value\n";
}
?>

Questo produce:

name: Alice
age: 25
city: Paris

La sintassi foreach ($array as $key => $value) assegna la chiave corrente a $key e il valore corrispondente a $value. Puoi chiamare queste variabili come preferisci, purché i nomi siano descrittivi.

Questo funziona anche con gli array indicizzati, in cui le chiavi sono gli indici numerici:

<?php
$colors = ["red", "green", "blue"];

foreach ($colors as $index => $color) {
    echo "$index: $color\n";
}
?>

Questo produce:

0: red
1: green
2: blue

Avere accesso sia alle chiavi sia ai valori semplifica la visualizzazione di dati etichettati o l'esecuzione di operazioni che dipendono dalla chiave.

challenge icon

Sfida

Facile

Leggi una singola riga di input contenente un oggetto JSON che rappresenta un prodotto con chiavi e valori (ad es., {"name":"Laptop","price":"999","stock":"25"}).

Usa un ciclo foreach con la sintassi chiave-valore per iterare sui dati del prodotto. Stampa ogni chiave e il valore corrispondente nel formato:

[key] => [value]

Stampa ogni coppia chiave-valore su una riga separata.

Esempio 1:

Se l’input è {"name":"Laptop","price":"999","stock":"25"}, l’output dovrebbe essere:

name => Laptop
price => 999
stock => 25

Esempio 2:

Se l’input è {"title":"PHP Basics","author":"John","pages":"350"}, l’output dovrebbe essere:

title => PHP Basics
author => John
pages => 350

Esempio 3:

Se l’input è {"city":"Paris","country":"France"}, l’output dovrebbe essere:

city => Paris
country => France

Provalo tu

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

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

// TODO: Scrivi il tuo codice qui sotto
// Usa un ciclo foreach con la sintassi chiave-valore per scorrere i dati del prodotto
// Stampa ogni chiave e valore nel formato: [key] => [value]

?>
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 Fondamenti

Esercitati da solo: Compilatore PHP online