0Pricing
PHP Academy · Leçon

Tableaux multidimensionnels

Construisez et parcourez des tableaux de tableaux.

Tableaux multidimensionnels est une leçon PHP Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage PHP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours PHP Academy comprend 4 leçons au total.

Tableaux multidimensionnels

Un tableau multidimensionnel est un tableau dont chaque élément est lui-même un tableau. Il est courant pour les données structurées, comme les résultats de base de données ou les arborescences de configuration.

Créer un tableau à deux dimensions

Créez et parcourez un tableau à deux dimensions :

<?php
$matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9],
];

echo $matrix[1][2]; // 6 (row 1, col 2)
$matrix[0][0] = 99;
echo $matrix[0][0]; // 99

Tableau de tableaux associatifs

Les ensembles de résultats de base de données sont souvent des tableaux de tableaux associatifs :

<?php
$users = [
    ['id' => 1, 'name' => 'Alice', 'role' => 'admin'],
    ['id' => 2, 'name' => 'Bob',   'role' => 'user'],
    ['id' => 3, 'name' => 'Carol', 'role' => 'user'],
];

echo $users[0]['name'];  // Alice
echo count($users);      // 3

Parcourir des tableaux à deux dimensions

Utilisez des boucles foreach imbriquées pour parcourir toutes les lignes et les colonnes :

<?php
$products = [
    ['name' => 'Widget', 'price' => 9.99],
    ['name' => 'Gadget', 'price' => 24.99],
];

foreach ($products as $product) {
    echo $product['name'] . ': $' . $product['price'] . PHP_EOL;
}

Accéder aux clés imbriquées en toute sécurité

Utilisez l'opérateur de coalescence nulle pour accéder en toute sécurité aux clés imbriquées qui peuvent ne pas exister :

<?php
$config = [
    'database' => ['host' => 'localhost', 'port' => 3306],
    'cache'    => ['driver' => 'redis'],
];

$port     = $config['database']['port'] ?? 3306;
$password = $config['database']['password'] ?? '';

echo $port;     // 3306
echo $password; // (empty)

Ajouter des éléments à des tableaux imbriqués

Ajoutez des éléments en profondeur dans un tableau multidimensionnel :

<?php
$app = [];
$app['settings']['theme'] = 'dark';
$app['settings']['lang']  = 'en';

$app['users'][] = ['name' => 'Alice'];
$app['users'][] = ['name' => 'Bob'];

echo count($app['users']);       // 2
echo $app['settings']['theme'];  // dark

array_column()

array_column() extrait une seule colonne d'un tableau à deux dimensions :

<?php
$users = [
    ['id' => 1, 'name' => 'Alice'],
    ['id' => 2, 'name' => 'Bob'],
    ['id' => 3, 'name' => 'Carol'],
];

$names = array_column($users, 'name');
print_r($names); // ['Alice', 'Bob', 'Carol']

// Re-index by id
$byId = array_column($users, null, 'id');
echo $byId[2]['name']; // Bob

Trier un tableau à deux dimensions

Triez les lignes selon la valeur d'un champ avec usort() :

<?php
$products = [
    ['name' => 'C Item', 'price' => 30],
    ['name' => 'A Item', 'price' => 10],
    ['name' => 'B Item', 'price' => 20],
];

usort($products, fn($a, $b) => $a['price'] <=> $b['price']);

foreach ($products as $p) {
    echo $p['name'] . PHP_EOL; // A Item, B Item, C Item
}

Opérations récursives avec array_walk_recursive

Appliquez une fonction de rappel à chaque élément terminal d'un tableau imbriqué avec array_walk_recursive() :

<?php
$data = ['a' => 'hello', 'b' => ['c' => 'world', 'd' => 'php']];

array_walk_recursive($data, function(&$val) {
    $val = strtoupper($val);
});

print_r($data);
// ['a'=>'HELLO', 'b'=>['c'=>'WORLD','d'=>'PHP']]

JSON et tableaux multidimensionnels

Les tableaux multidimensionnels PHP correspondent directement aux objets et aux tableaux JSON :

<?php
$data = [
    'user'    => ['id' => 1, 'name' => 'Alice'],
    'scores'  => [95, 87, 92],
    'active'  => true,
];

$json = json_encode($data, JSON_PRETTY_PRINT);
echo $json;

$decoded = json_decode($json, true); // true = assoc array
echo $decoded['user']['name']; // Alice

array_merge contre array_replace pour les tableaux imbriqués

array_merge n'est pas récursif ; utilisez array_replace_recursive pour fusionner correctement des tableaux imbriqués :

<?php
$defaults = ['db' => ['host' => 'localhost', 'port' => 3306]];
$custom   = ['db' => ['host' => 'production.server.com']];

$config = array_replace_recursive($defaults, $custom);
echo $config['db']['host'];  // production.server.com
echo $config['db']['port'];  // 3306 — preserved from defaults

Vérification rapide

Quelle fonction extrait une seule colonne de valeurs d'un tableau à deux dimensions ?

Récapitulatif : tableaux multidimensionnels

Points essentiels :

  • Imbriquez les tableaux à n'importe quelle profondeur
  • Utilisez ?? pour accéder en toute sécurité aux clés imbriquées manquantes
  • array_column() extrait une colonne ou réindexe le tableau à partir d'une clé
  • usort() associé à un comparateur trie selon n'importe quel champ
  • array_walk_recursive() permet d'effectuer des transformations en profondeur
  • array_replace_recursive() permet d'effectuer des fusions en profondeur

Questions Fréquemment Posées

La leçon « Tableaux multidimensionnels » est-elle gratuite ?

Oui — le texte complet de « Tableaux multidimensionnels » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours PHP Academy, passe à CoddyKit PRO. Le cours PHP Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Tableaux multidimensionnels » ?

Construisez et parcourez des tableaux de tableaux. Tu pratiques PHP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer PHP Academy ?

Aucune expérience préalable n'est requise. PHP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Tableaux multidimensionnels » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon PHP Academy ?

Oui. Chaque leçon PHP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Tableaux indexés et associatifs
  2. Tableaux multidimensionnels
  3. Trier et rechercher dans des tableaux
  4. Fonctions de transformation des tableaux
← Retour à PHP Academy