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.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
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 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
?>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 classement