Accessing Values by Key
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 comment en extraire 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"]—placez la clé sous forme de chaîne de caractères à l'intérieur des crochets, et PHP renvoie la valeur associée. C'est beaucoup 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 une utilisation ultérieure :
<?php
$product = [
"title" => "Laptop",
"price" => 999
];
$itemName = $product["title"];
echo $itemName; // Laptop
?>La clé doit correspondre exactement, y compris la casse. Utiliser "Name" au lieu de "name" provoquerait une erreur car PHP les traite comme des clés différentes.
Parfois, les données arrivent sous la forme d'une chaîne JSON plutôt que d'un littéral de tableau PHP. Le format JSON (JavaScript Object Notation) est un format de 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 une valeur PHP. Pour obtenir un tableau associatif, passez 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 classique et vous pouvez accéder à ses valeurs exactement de la même manière que pour n'importe quel 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}).
Ensuite, lisez deux autres entrées :
- Une chaîne
key1représentant la première clé à laquelle accéder - Une chaîne
key2représentant la deuxième clé à laquelle accéder
Pour convertir la chaîne JSON en un 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 renvoyer un tableau associatif au lieu d'un objet. Une fois décodé, vous pouvez accéder aux valeurs par clé comme pour n'importe quel tableau associatif, par exemple $array["title"].
Créez un tableau associatif à partir de l'entrée JSON, puis :
- Accédez et affichez la valeur associée à
key1 - Stockez la valeur associée à
key2dans une variable nommée$info - Affichez la valeur stockée dans
$info
Affichez chaque résultat sur une ligne séparée.
Exemple :
Si les entrées sont {"title": "The Great Gatsby", "author": "F. Scott Fitzgerald", "year": 1925}, title, et author, la sortie devrait être :
The Great Gatsby
F. Scott FitzgeraldSi les entrées sont {"name": "Laptop", "brand": "TechCo", "price": 999}, brand, et price, la sortie devrait ê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 nommé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
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic7Arrays Part 2 - Associative
Intro to Associative ArraysAccessing Values by KeyModifying Values by KeyAdding New Key-Value PairsCheck if Key ExistsRecap - Key-Value Data Store2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators