Menu
Coddy logo textTech

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"].

challenge icon

Défi

Facile

Lisez 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 key1 représentant la première clé à laquelle accéder
  • Une chaîne key2 repré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 :

  1. Accédez et affichez la valeur associée à key1
  2. Stockez la valeur associée à key2 dans une variable nommée $info
  3. 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 Fitzgerald

Si les entrées sont {"name": "Laptop", "brand": "TechCo", "price": 999}, brand, et price, la sortie devrait être :

TechCo
999

Essayez 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

?>
quiz iconTestez-vous

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