Partie 1
1

Boucles, tableaux et génération de code HTML : Exemples : Exemple PHP n°1

Les questions doivent vous aider à comprendre le code présenté ci-dessous.
Une fois que vous tenez la solution, vous pouvez afficher la réponse en cliquant sur l’intitulé de la question.

1.Que produit cette fonction ?

R : La fonction produit une liste à puces dont les items sont les valeurs contenues dans le tableau passé en paramètre

2.Quelle instruction permet de passer toutes les valeurs du tableau en revue ?

R : L'instruction foreach ($tableau as $case) répète le bloc d'instruction qui suit pour chaque case du tableau. La variable $case prend successivement les valeurs des différentes cases du tableau.

3.A quel endroit est ouverte la liste ?

R : La balise < ul > est générée avant la boucle, pour n'apparaitre qu'une fois

4.A quel endroit sont générés les items de la liste ?

R : Les balises < li > et < /li > sont produites dans la boucle, donc un item est généré pour chaque case du tableau

5.A quel endroit est fermée la liste ?

R : La balise < /ul > est générée après la boucle, pour n'apparaitre qu'une fois

6.Qu'est ce qui indique le nombre d'items à afficher ?

R : Rien. Ce nombre n'est pas nécessaire pour une boucle foreach
Exemple validé
function affiche($tableau) {
    echo '<ul>';
    foreach($tableau as $case) {
        echo '<li>'.$case.'</li>';
    }
    echo '</ul>';
}

echo '<p>Les jours</p>';
$jours = array('lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche');
affiche($jours);

echo '<p>Les mois</p>';
$mois = array('janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'aout', 'septembre', 'octobre', 'novembre', 'décembre');
affiche($mois);
Résultat :

Les jours

  • lundi
  • mardi
  • mercredi
  • jeudi
  • vendredi
  • samedi
  • dimanche

Les mois

  • janvier
  • février
  • mars
  • avril
  • mai
  • juin
  • juillet
  • aout
  • septembre
  • octobre
  • novembre
  • décembre
<p>Les‧jours</p><ul><li>lundi</li><li>mardi</li><li>mercredi</li><li>jeudi</li><li>vendredi</li><li>samedi</li><li>dimanche</li></ul><p>Les‧mois</p><ul><li>janvier</li><li>février</li><li>mars</li><li>avril</li><li>mai</li><li>juin</li><li>juillet</li><li>aout</li><li>septembre</li><li>octobre</li><li>novembre</li><li>décembre</li></ul>

Exécution en 0.0004s