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: ParisLa 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: blueAvere accesso sia alle chiavi sia ai valori semplifica la visualizzazione di dati etichettati o l'esecuzione di operazioni che dipendono dalla chiave.
Sfida
FacileLeggi 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 => 25Esempio 2:
Se l’input è {"title":"PHP Basics","author":"John","pages":"350"}, l’output dovrebbe essere:
title => PHP Basics
author => John
pages => 350Esempio 3:
Se l’input è {"city":"Paris","country":"France"}, l’output dovrebbe essere:
city => Paris
country => FranceProvalo 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]
?>Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori di confronto e logici
Operatori di confrontoUguaglianza e identitàOperatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica semplice2Variabili e tipi di dati
NumeriStringhe e virgoletteValori booleaniConvenzioni di denominazioneRiepilogo - Inizializzazione delle variabiliVariabili vuoteConcatenazione di stringheAcquisire input dall'utenteConvertire in tipi diversi5Logica condizionale
Istruzione ifIf - elseL’operatore ternarioOperatore null coalescingIstruzione switchRiepilogo - Prendere decisioni8Cicli
Ciclo forCiclo whileCiclo foreachIterare con chiavi e valoriIstruzione breakIstruzione continueRipasso - Iterare sui dati3Operatori di base
Operatori aritmeticiOperatore moduloOperatore di elevamento a potenzaAssegnazione compostaIncremento/decrementoPrecedenza degli operatoriRiepilogo - calcoli sempliciOperatori per stringheEsercitati da solo: Compilatore PHP online