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à.
Sfida
FacileLeggi 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 perkey1 - Una stringa
key2- la seconda chiave da aggiornare - Una stringa
value2- il nuovo valore perkey2
Crea un array associativo a partire dall'input JSON, poi:
- Aggiorna il valore associato a
key1convalue1 - Aggiorna il valore associato a
key2convalue2 - Stampa il valore aggiornato in corrispondenza di
key1 - 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
45Se gli input sono {"city": "Paris", "country": "France", "population": 2000000}, city, London, country e UK, l'output dovrebbe essere:
London
UKProvalo 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
?>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 semplice7Array Parte 2 - Associativi
Introduzione agli array associativiAccedere ai valori tramite chiaveModificare i valori tramite chiaveAggiungere nuove coppie chiave-valoreVerificare se una chiave esisteRiepilogo - Archivio dati chiave-valore2Variabili 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 decisioni3Operatori di base
Operatori aritmeticiOperatore moduloOperatore di elevamento a potenzaAssegnazione compostaIncremento/decrementoPrecedenza degli operatoriRiepilogo - calcoli sempliciOperatori per stringheEsercitati da solo: Compilatore PHP online