Menu
Coddy logo textTech

Tableaux associatifs 2D

Fait partie de la section Logique & Flux du Journey PHP de Coddy. Leçon 31 sur 68.

Jusqu’à présent, vous avez travaillé avec des tableaux 2D en utilisant des indices numériques, mais vous pouvez également créer des données plus structurées en utilisant des tableaux associatifs, à la fois au niveau principal et dans les tableaux imbriqués. Cette approche utilise des clés chaîne au lieu de nombres, ce qui rend vos données beaucoup plus descriptives et plus faciles à comprendre.

Voici comment créer un tableau associatif 2D où chaque élément possède des clés de chaîne significatives :

<?php
$students = [
    "alice" => [
        "name" => "Alice Johnson",
        "grade" => 92
    ],
    "bob" => [
        "name" => "Bob Smith", 
        "grade" => 87
    ],
    "charlie" => [
        "name" => "Charlie Brown",
        "grade" => 95
    ]
];
?>

Vous pouvez également combiner les approches, en utilisant des indices numériques pour le tableau principal tout en conservant des tableaux associatifs à l’intérieur :

<?php
$users = [
    ["username" => "john_doe", "email" => "john@example.com"],
    ["username" => "jane_smith", "email" => "jane@example.com"]
];
?>

Cette structure est incroyablement puissante pour organiser des données complexes comme des profils utilisateur, des catalogues de produits ou tout scénario dans lequel vous devez stocker plusieurs propriétés associées à chaque élément. Les clés de type chaîne rendent votre code explicite et bien plus facile à maintenir que si vous deviez vous souvenir de positions numériques.

challenge icon

Défi

Facile

Vous recevrez une entrée : un tableau associatif 2D représentant un inventaire de produits au format JSON. Chaque produit possède un identifiant de produit unique comme clé, et la valeur est un tableau associatif contenant le "name" et le "price" du produit. Lisez l’entrée, convertissez la chaîne JSON en tableau associatif 2D, parcourez tous les produits et affichez les informations de chaque produit au format : ID: [product_id] - Name: [name] - Price: $[price]

Chaque produit doit être affiché sur une ligne distincte.

Format de l’entrée : Une ligne contenant un objet JSON représentant l’inventaire des produits (exemple : {"P001":{"name":"Laptop","price":999.99},"P002":{"name":"Mouse","price":25.50},"P003":{"name":"Keyboard","price":75.00}})

Sortie attendue : Chaque produit affiché sur une ligne distincte au format ID: [product_id] - Name: [name] - Price: $[price]

Essayez vous-même

<?php
// Lire l'entrée JSON
$input = fgets(STDIN);

// Convertir le JSON en tableau associatif
$inventory = (array)json_decode($input, true);

// TODO: Écrivez votre code ci-dessous pour parcourir l'inventaire et afficher chaque produit


?>
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 Logique & Flux

Entraînez-vous par vous-même : Compilateur PHP en ligne