Accedere ai valori tramite chiave
Fa parte della sezione Fondamenti del percorso PHP di Coddy. Lezione 42 di 71.
Ora che hai capito cosa sono gli array associativi, impariamo come recuperarne i valori. Proprio come gli array indicizzati usano posizioni numeriche, gli array associativi usano chiavi tra parentesi quadre.
<?php
$person = [
"name" => "Alice",
"age" => 25,
"city" => "Paris"
];
echo $person["name"]; // Alice
echo $person["age"]; // 25
?>La sintassi è $array["key"]: inserisci la chiave come stringa tra parentesi quadre e PHP restituisce il valore associato. Questo è molto più leggibile che ricordare che il nome si trova all’indice 0.
Puoi anche memorizzare il valore recuperato in una variabile per usarlo in seguito:
<?php
$product = [
"title" => "Laptop",
"price" => 999
];
$itemName = $product["title"];
echo $itemName; // Laptop
?>La chiave deve corrispondere esattamente, comprese le maiuscole e le minuscole. Usare "Name" invece di "name" causerebbe un errore, poiché PHP le considera chiavi diverse.
A volte i dati arrivano come stringa JSON invece che come literal di array PHP. JSON (JavaScript Object Notation) è un formato testuale comune per rappresentare dati strutturati. Per esempio:
$json = '{"title": "Dune", "author": "Frank Herbert", "year": 1965}';La funzione integrata json_decode() di PHP converte una stringa JSON in un valore PHP. Per ottenere un array associativo, passa true come secondo argomento:
<?php
$json = '{"title": "Dune", "author": "Frank Herbert", "year": 1965}';
$book = json_decode($json, true);
echo $book["title"]; // Dune
echo $book["author"]; // Frank Herbert
echo $book["year"]; // 1965
?>Dopo aver chiamato json_decode($json, true), il risultato è un normale array associativo e puoi accedere ai suoi valori esattamente come faresti con qualsiasi altro array associativo: usando $array["key"].
Sfida
FacileLeggi una riga di input contenente un oggetto JSON che rappresenta le informazioni di un libro (ad es., {"title": "The Great Gatsby", "author": "F. Scott Fitzgerald", "year": 1925}).
Poi leggi altri due input:
- Una stringa
key1che rappresenta la prima chiave da accedere - Una stringa
key2che rappresenta la seconda chiave da accedere
Per convertire la stringa JSON in un array associativo, usa la funzione integrata json_decode() con true come secondo argomento:
$array = json_decode($jsonString, true);
Il secondo argomento true indica a PHP di restituire un array associativo invece di un oggetto. Una volta decodificato, puoi accedere ai valori tramite chiave, proprio come in qualsiasi array associativo, ad es. $array["title"].
Crea un array associativo dall'input JSON, poi:
- Accedi al valore associato a
key1e stampalo - Memorizza il valore associato a
key2in una variabile chiamata$info - Stampa il valore memorizzato in
$info
Stampa ogni risultato su una riga separata.
Esempio:
Se gli input sono {"title": "The Great Gatsby", "author": "F. Scott Fitzgerald", "year": 1925}, title e author, l'output dovrebbe essere:
The Great Gatsby
F. Scott FitzgeraldSe gli input sono {"name": "Laptop", "brand": "TechCo", "price": 999}, brand e price, l'output dovrebbe essere:
TechCo
999Provalo tu
<?php
// Leggi l'input JSON
$jsonInput = trim(fgets(STDIN));
// Leggi le due chiavi
$key1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
// TODO: Scrivi il tuo codice qui sotto
// 1. Crea un array associativo dall'input JSON usando json_decode
// 2. Accedi al valore associato a $key1 e stampalo
// 3. Memorizza il valore associato a $key2 in una variabile chiamata $info
// 4. Stampa il valore memorizzato in $info
?>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