vendredi 25 septembre 2026

À propos

Contact

Lexique · PHP

Boucle foreach

En anglais : « Foreach loop »

Structure de contrôle PHP qui parcourt chaque élément d'un tableau ou d'un objet itérable, sans avoir à gérer manuellement un compteur d'index.

Parcourir un tas de cartes une par une, sans avoir à compter combien il y en a ni à se soucier de leur ordre exact de rangement : c’est ce que fait foreach, en offrant à chaque tour de boucle l’élément suivant du tableau parcouru.

La boucle reine dans les templates WordPress

Afficher une liste d’articles, les termes d’une taxonomie ou les champs d’un formulaire personnalisé passe presque toujours par une boucle foreach dans un template WordPress, souvent en complément de la boucle principale WP_Query qui utilise plutôt while ( have_posts() ).

Exemple

$categories = get_the_category();

foreach ($categories as $categorie) {
    echo '<a href="' . esc_url(get_category_link($categorie->term_id)) . '">'
       . esc_html($categorie->name) . '</a> ';
}

Chaque tour de boucle reçoit un objet catégorie différent, sans qu’il soit nécessaire de gérer un index numérique pour y accéder.

Bon à savoir

  • La syntaxe foreach ($tableau as $cle => $valeur) donne accès à la fois à la clé et à la valeur, indispensable pour parcourir un tableau associatif.
  • Modifier le tableau parcouru pendant l’exécution d’un foreach peut produire un comportement inattendu ; utiliser une référence (as &$valeur) exige de penser à faire un unset() après la boucle pour éviter des effets de bord.
  • Contrairement à for, foreach ne nécessite pas de connaître à l’avance le nombre d’éléments à parcourir, ce qui le rend plus sûr face à des tableaux de taille variable.