Menu
Coddy logo textTech

Tableaux associatifs 2D

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

Alors que vous avez travaillé avec des tableaux en 2D utilisant des indices numériques, vous pouvez également créer des données plus structurées en utilisant des tableaux associatifs tant au niveau principal qu'à l'intérieur des tableaux imbriqués. Cette approche utilise des clés sous forme de chaînes de caractères 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 de caractères significatives :

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

Vous pouvez également mélanger 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 telles que des profils d'utilisateurs, des catalogues de produits ou tout scénario où vous devez stocker plusieurs propriétés liées pour chaque élément. Les clés de type chaîne de caractères rendent votre code auto-documenté et beaucoup plus facile à maintenir que de devoir se souvenir de positions numériques.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

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 un 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 d'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]

Aide-mémoire

Vous pouvez créer des tableaux associatifs en 2D en utilisant des clés de type chaîne de caractères à la fois au niveau principal et dans les tableaux imbriqués :

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

Vous pouvez également mélanger les approches, en utilisant des indices numériques pour le tableau principal avec des tableaux associatifs à l'intérieur :

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

Les clés de type chaîne de caractères rendent vos données auto-documentées et plus faciles à maintenir que les positions numériques.

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