foreach

En PHP, on peut réaliser la même tache plusieurs fois à l'aide des boucles.

Dans notre cas, nous allons récupérer le contenu du tableau des personnages pour les afficher de la même façon 12 fois.

MéthodeBoucle

On peut remarquer que la liste ul de notre page personnes.php affiche 12 fois le même li.

Chaque li ne diffère des autres que par l'indice du tableau.

Nous utilisons une boucle foreach qui fera défiler l'ensemble des personnages du tableau.

1
<?php
2
require 'bdd.php';
3
$page_title = 'Personnes';
4
?>
5
<!DOCTYPE html>
6
<html lang='fr'>
7
8
<?php require 'head.php' ?>
9
10
<body>
11
    <?php require 'header.php' ?>
12
13
    <main>
14
        <h1>Afficher</h1>
15
16
        <ul>
17
            <?php
18
            foreach ($listePersonnes as $personne) {
19
                ?>
20
                <li>
21
                    <img src='photos/<?= $personne['photo'] ?>' alt='photo <?= $personne['nom'] ?>' />
22
                    <?= $personne['nom'] ?>
23
                    <?= $personne['prenom'] ?>
24
                    <?= $personne['age'] ?> ans
25
                </li>
26
                <?php
27
            }
28
            ?>
29
        </ul>
30
    </main>
31
32
    <?php require 'footer.php' ?>
33
</body>
34
35
</html>

Remarquez que l'on ouvre le PHP avant le foreach et qu'on le ferme après l'ouverture de la boucle ( { ?> ).

On construit le li.

Puis, on ferme la boucle ( } ) à l'intérieur d'une balise PHP.

La boucle foreach tourne autant de fois qu'il y a d'éléments dans le tableau (ici 12 fois).

A chaque tour de boucle, la variable $personne contient un personnage différent.

Le contenu de $personne['nom'] dépend du tour dans lequel vous êtes.

Le même li est construit 12 fois. Seul le contenu de nom, prenom, age et photo change.