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.
Défi
FacileVous 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
?>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
1Fonctions avancées
Fonctions anonymesClosures et 'use'Fonctions fléchéesFonctions de rappelUtilisation de 'call_user_func'Fonctions variablesPassage par référenceFonctions récursivesRécapitulatif : Mélange de fonctions4Tableaux multidimensionnels
Créer un tableau 2DAccéder aux éléments d'un tableau 2DModifier les éléments d'un tableau 2DItérer avec des boucles imbriquéesTableaux associatifs 2DRécapitulatif : Exercice de grille simple2Manipulations avancées de tableaux
Ajouter avec 'array_push'Supprimer avec 'array_pop'Ajouter avec 'array_unshift'Supprimer avec 'array_shift'Fusionner des tableaux indexésFusionner des tableaux associatifsExtraire avec 'array_slice'Valeurs avec 'in_array'Clés avec 'array_search'Récapitulatif : Exercice Playlist3Tri des tableaux
Trier les tableaux indexés par ordre croissantTrier les tableaux indexés par ordre décroissantTrier les tableaux associatifs par valeurTrier les tableaux associatifs par cléTri par ordre naturelTri personnalisé avec 'usort'Récapitulatif : Tri d'un classementEntraînez-vous par vous-même : Compilateur PHP en ligne