Les tableaux associatifs en PHP

Dans cette nouvelle leçon, nous allons voir ce que sont les tableaux associatifs et leurs différences avec les tableaux numérotés. Nous allons également apprendre à créer des tableaux associatifs et à les parcourir et à afficher leurs valeurs.

 

Présentation des tableaux associatifs en PHP

Un tableau associatif est un tableau qui va utiliser des clefs textuelles qu’on va associer à chaque valeur.

Les tableaux associatifs vont s’avérer intéressant lorsqu’on voudra donner du sens à nos clefs, c’est-à-dire créer une association forte entre les clefs et les valeurs d’un tableau.

Imaginons par exemple qu’on souhaite stocker les âges de nos différents utilisateurs dans un tableau. Ici, plutôt que d’utiliser un tableau numéroté dans lequel il serait difficile de dire à qui appartient chaque âge, il serait judicieux d’utiliser un tableau associatif en utilisant par exemple les pseudonymes de nos membres comme clefs.

 

Créer un tableau associatif en PHP

Les tableaux associatifs vont être différents des tableaux numérotés au sens où nous allons devoir définir chacune des clefs : le PHP ne va pas ici pouvoir nommer automatiquement nos clefs.

Tout comme pour les tableaux numérotés, on va pouvoir créer notre tableau en une fois en utilisant la structure de langage array() ou la syntaxe [] ou le construire clef par clef et valeur par valeur.

<!DOCTYPE html>
<html>
    <head>
        <title>Cours PHP & MySQL</title>
        <meta charset="utf-8">
        <link rel="stylesheet" href="cours.css">
    </head>
    
    <body>
        <h1>Titre principal</h1>
        <?php
            $ages = ['Mathilde' => 27, 'Pierre' => 29, 'Amandine' => 21];
            
            $mails['Mathilde'] = 'math@gmail.com';
            $mails['Pierre'] = 'pierre.giraud@edhec.com';
            $mails['Amandine'] = 'amandine@lp.fr';
        ?>
        <p>Un paragraphe</p>
    </body>
</html>

 

On crée notre premier tableau $ages d’un seul coup en utilisant la syntaxe []. Ici, « Mathilde », « Pierre » et « Amandine » sont les clefs ou indices du tableau et 27, 29 et 21 sont les valeurs associées. Notez bien l’utilisation du signe => qui sert à associer une clef à une valeur.

 

Récupérer et afficher les valeurs d’un tableau associatif

On va pouvoir afficher une valeur en particulier d’un tableau associatif très simplement de la même façon que pour les tableaux numérotés :

Création d'un tableau associatif en PHP et affichage des valeurs une à une

On affiche les valeurs de notre tableau associatif PHP grâce aux clefs textuelles

Pour parcourir un tableau associatif et par exemple afficher les valeurs les unes après les autres, nous allons en revanche être obligés d’utiliser une boucle foreach qui est une boucle créée spécialement pour les tableaux.

Ici, nous allons utiliser la boucle foreach de la manière suivante :

<!DOCTYPE html>
<html>
    <head>
        <title>Cours PHP & MySQL</title>
        <meta charset="utf-8">
        <link rel="stylesheet" href="cours.css">
    </head>
    
    <body>
        <h1>Titre principal</h1>
        <?php
            $ages = ['Mathilde' => 27, 'Pierre' => 29, 'Amandine' => 21];
            
            /*Identique à
             *$ages = array('Mathilde' => 27, 'Pierre' => 29, 'Amandine' => 21);
             */
            
            $mails['Mathilde'] = 'math@gmail.com';
            $mails['Pierre'] = 'pierre.giraud@edhec.com';
            $mails['Amandine'] = 'amandine@lp.fr';
            
            foreach($ages as $clef => $valeur){
                echo $clef. ' a ' .$valeur. ' ans<br>';
            }
        ?>
        <p>Un paragraphe</p>
    </body>
</html>

 

On utilise une boucle foreach pour parcourir notre tableau associatif PHP et afficher ses valeurs

Ici, nous utilisons une syntaxe de type foreach($tableau as $clef => $valeur). Cette syntaxe nous permet de récupérer à la fois les valeurs du tableau qui vont être stockées dans la variable qu’on a ici appelée $valeur ainsi que les clefs associées à chaque valeur.

Lors du premier passage dans la boucle, la première paire clef => valeur du tableau va être récupérée et affichée grâce à echo puis foreach va nous permettre de passer à la paire suivante clef => valeur du tableau qu’on va afficher lors du deuxième passage dans la boucle et etc. jusqu’à la fin de notre tableau.

Laisser un commentaire