Accéder aux valeurs par clé
Fait partie de la section Fondamentaux du Journey PHP de Coddy. Leçon 42 sur 71.
Maintenant que vous comprenez ce que sont les tableaux associatifs, apprenons à en récupérer les valeurs. Tout comme les tableaux indexés utilisent des positions numériques, les tableaux associatifs utilisent des clés entre crochets.
<?php
$person = [
"name" => "Alice",
"age" => 25,
"city" => "Paris"
];
echo $person["name"]; // Alice
echo $person["age"]; // 25
?>La syntaxe est $array["key"] : place la clé sous forme de chaîne entre les crochets, et PHP renvoie la valeur associée. C’est bien plus lisible que de se rappeler que le nom se trouve à l’index 0.
Vous pouvez également stocker la valeur récupérée dans une variable pour l’utiliser ultérieurement :
<?php
$product = [
"title" => "Laptop",
"price" => 999
];
$itemName = $product["title"];
echo $itemName; // Laptop
?>La clé doit correspondre exactement, y compris les majuscules et minuscules. Utiliser "Name" au lieu de "name" provoquerait une erreur, puisque PHP les traite comme des clés différentes.
Parfois, les données arrivent sous forme de chaîne JSON plutôt que de littéral de tableau PHP. JSON (JavaScript Object Notation) est un format texte courant pour représenter des données structurées. Par exemple :
$json = '{"title": "Dune", "author": "Frank Herbert", "year": 1965}';La fonction intégrée json_decode() de PHP convertit une chaîne JSON en valeur PHP. Pour obtenir un tableau associatif, transmettez true comme deuxième argument :
<?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
?>Après avoir appelé json_decode($json, true), le résultat est un tableau associatif ordinaire et vous pouvez accéder à ses valeurs exactement de la même manière qu’à tout autre tableau associatif : en utilisant $array["key"].
Défi
FacileLisez une ligne d’entrée contenant un objet JSON représentant les informations d’un livre (par exemple, {"title": "The Great Gatsby", "author": "F. Scott Fitzgerald", "year": 1925}).
Lisez ensuite deux autres entrées :
- Une chaîne
key1représentant la première clé à consulter - Une chaîne
key2représentant la deuxième clé à consulter
Pour convertir la chaîne JSON en tableau associatif, utilisez la fonction intégrée json_decode() avec true comme deuxième argument :
$array = json_decode($jsonString, true);
Le deuxième argument true indique à PHP de retourner un tableau associatif plutôt qu’un objet. Une fois le JSON décodé, vous pouvez accéder aux valeurs par clé, comme avec n’importe quel tableau associatif, par exemple $array["title"].
Créez un tableau associatif à partir de l’entrée JSON, puis :
- Accédez à la valeur associée à
key1et affichez-la - Stockez la valeur associée à
key2dans une variable appelée$info - Affichez la valeur stockée dans
$info
Affichez chaque résultat sur une ligne distincte.
Exemple :
Si les entrées sont {"title": "The Great Gatsby", "author": "F. Scott Fitzgerald", "year": 1925}, title et author, la sortie doit être :
The Great Gatsby
F. Scott FitzgeraldSi les entrées sont {"name": "Laptop", "brand": "TechCo", "price": 999}, brand et price, la sortie doit être :
TechCo
999Essayez vous-même
<?php
// Lire l'entrée JSON
$jsonInput = trim(fgets(STDIN));
// Lire les deux clés
$key1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
// TODO: Écrivez votre code ci-dessous
// 1. Créer un tableau associatif à partir de l'entrée JSON en utilisant json_decode
// 2. Accéder et afficher la valeur associée à $key1
// 3. Stocker la valeur associée à $key2 dans une variable appelée $info
// 4. Afficher la valeur stockée dans $info
?>Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs de comparaison et logiques
Opérateurs de comparaisonÉgalité et identitéOpérateurs logiques — Partie 1Opérateurs logiques — Partie 2Récapitulatif — Logique simple7Tableaux, partie 2 - associatifs
Introduction aux tableaux associatifsAccéder aux valeurs par cléModifier les valeurs par cléAjouter de nouvelles paires clé-valeurVérifier si une clé existeRécapitulatif - magasin de données clé-valeur2Variables et types de données
NombresChaînes et guillemetsBooléensConventions de nommageRécapitulatif - initialisation des variablesVariables videsConcaténation de chaînesObtenir une saisie utilisateurConvertir vers différents types5Logique conditionnelle
Instruction ifIf - ElseOpérateur ternaireOpérateur de coalescence nulleInstruction switchRécapitulatif - Prendre des décisions3Opérateurs de base
Opérateurs arithmétiquesOpérateur moduloOpérateur d’exponentiationAffectation combinéeIncrémentation/DécrémentationPriorité des opérateursRécapitulatif - Calculs simplesOpérateurs sur les chaînesEntraînez-vous par vous-même : Compilateur PHP en ligne