Menu
Coddy logo textTech

Modificare i valori tramite chiave

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

Proprio come hai imparato a modificare gli elementi degli array indicizzati in base alla loro posizione, puoi aggiornare i valori negli array associativi usando le loro chiavi. La sintassi è identica: assegna un nuovo valore a una chiave esistente.

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

$person["age"] = 26;
$person["city"] = "London";

echo $person["age"];  // 26
echo $person["city"]; // London
?>

Quando assegni un valore a una chiave già esistente, PHP sostituisce semplicemente il vecchio valore con quello nuovo. La chiave stessa rimane invariata: viene aggiornato solo il valore associato.

Questo è utile quando i dati devono cambiare nel tempo. Per esempio, per aggiornare lo stato di un utente, modificare il prezzo di un prodotto o correggere informazioni inserite in modo errato. La chiave funge da punto di riferimento stabile, mentre il valore può essere modificato secondo necessità.

challenge icon

Sfida

Facile

Leggi una riga di input contenente un oggetto JSON che rappresenta le informazioni di un prodotto (ad es., {"name": "Laptop", "price": 999, "stock": 50}).

Poi leggi altri quattro input:

  • Una stringa key1 - la prima chiave da aggiornare
  • Una stringa value1 - il nuovo valore per key1
  • Una stringa key2 - la seconda chiave da aggiornare
  • Una stringa value2 - il nuovo valore per key2

Crea un array associativo a partire dall'input JSON, poi:

  1. Aggiorna il valore associato a key1 con value1
  2. Aggiorna il valore associato a key2 con value2
  3. Stampa il valore aggiornato in corrispondenza di key1
  4. Stampa il valore aggiornato in corrispondenza di key2

Stampa ciascun risultato su una riga separata.

Esempio:

Se gli input sono {"name": "Laptop", "price": 999, "stock": 50}, price, 1099, stock e 45, l'output dovrebbe essere:

1099
45

Se gli input sono {"city": "Paris", "country": "France", "population": 2000000}, city, London, country e UK, l'output dovrebbe essere:

London
UK

Provalo tu

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

// Leggi le chiavi e i valori da aggiornare
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));

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

// TODO: Scrivi il tuo codice qui sotto
// 1. Aggiorna a value1 il valore associato a key1
// 2. Aggiorna a value2 il valore associato a key2
// 3. Stampa i valori aggiornati

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