Cours

PHP Défi final

Le bulletin de notes

Tableau associatif, boucle, fonction et condition, réunis pour générer un bulletin.

30 min

Ce défi réunit les tableaux, les boucles, les conditions et les fonctions. Rappel : pour un tableau associatif, la boucle s'écrit foreach ($tableau as $cle => $valeur).

Le défi

  • crée un tableau associatif $notes avec au moins 3 élèves et leur note, par exemple "Léa" => 15 ;
  • écris une fonction mention qui prend une note et renvoie « Très bien » à partir de 16, « Bien » à partir de 14, « Assez bien » à partir de 12, et « Passable » sinon ;
  • avec foreach, affiche pour chaque élève une ligne <li> avec son prénom (protégé par htmlspecialchars), sa note et sa mention.
index.php
  • $notes est un tableau associatif d'au moins 3 élèves
  • Une fonction mention prend une note
  • Elle teste 16, 14 et 12
  • Elle renvoie les mentions avec return
  • foreach parcourt $notes avec la clé et la valeur
  • Chaque ligne est un <li> qui appelle mention()
  • Le prénom est protégé par htmlspecialchars
Bloqué ? Voir une solution
<?php
$notes = ["Léa" => 17, "Tom" => 13, "Inès" => 9];

function mention(int $note): string
{
    if ($note >= 16) {
        return "Très bien";
    } elseif ($note >= 14) {
        return "Bien";
    } elseif ($note >= 12) {
        return "Assez bien";
    }
    return "Passable";
}

echo "<ul>";
foreach ($notes as $prenom => $note) {
    echo "<li>" . htmlspecialchars($prenom) . " : $note/20, " . mention($note) . "</li>";
}
echo "</ul>";