PHP possède les construits de contrôle de flux standard — les conditions (, , ), les boucles (, , ) et le branchement (, ) — plus quelques fonctionnalités distinctives comme pour les tableaux et l'expression moderne.
ifswitchmatchforforeachwhilebreakcontinueforeachmatch<?php
if ($score >= 90) {
$grade = "A";
} elseif ($score >= 80) {
$grade = "B";
} else {
$grade = "F";
}
// ternary and null coalescing
$status = $age >= 18 ? "adult" : "minor";
$name = $input ?? "default"; // ?? — use default if null/unset (PHP 7+)
$value ??= "x"; // ??= assign if null (PHP 7.4)
L'opérateur de coalescence null ?? est très utilisé en PHP pour les valeurs par défaut (renvoie le côté droit si le côté gauche est null ou non défini) — plus propre que les vérifications isset().
switch ($day) {
case "Sat":
case "Sun":
$type = "weekend"; break; // ⚠️ break needed or it falls through
default:
$type = "weekday";
}
// match (PHP 8) — cleaner: returns a value, STRICT comparison, NO fall-through
$type = match($day) {
"Sat", "Sun" => "weekend", // multiple values, no break needed
default => "weekday",
};
L'expression match (PHP 8) est une amélioration moderne par rapport à switch : elle retourne une valeur, utilise la comparaison stricte (===), et n'a pas de fall-through (pas de break nécessaire) — préférée dans le nouveau code.
for ($i = 0; $i < 10; $i++) { }
foreach ($items as $item) { } // iterate array values
foreach ($map as $key => $value) { } // keys + values — the PHP idiom for arrays
while ($condition) { }
do { } while ($condition);
foreach est la boucle idiomatique la plus utilisée en PHP pour itérer sur les tableaux (avec la forme $key => $value pour les tableaux associatifs).
foreach ($items as $item) {
if ($item->skip) continue; // skip to next iteration
if ($item->stop) break; // exit the loop
}
Le contrôle de flux est le mécanisme fondamental pour exprimer la logique, utilisé dans chaque programme, donc comprendre les construits de PHP est une connaissance fondamentale de base.
La plupart sont standard, mais quelques points spécifiques à PHP comptent : foreach est la boucle idiomatique et dominante pour itérer sur les tableaux omniprésents de PHP (avec la forme $key => $value pour les maps) ; l'opérateur de coalescence null ?? (et ??=) est très utilisé pour une gestion propre des valeurs par défaut (un idiome distinctement PHP) ; et l'expression match moderne (PHP 8) est une amélioration importante par rapport au switch sujet aux erreurs — retournant une valeur, utilisant la comparaison stricte, et éliminant les bugs de fall-through (le piège classique de switch d'oublier break).
Connaître ces construits, et préférer les formes modernes et plus sûres (match au lieu de switch, ?? pour les valeurs par défaut), est une connaissance de base pour écrire une logique PHP propre, idiomatique et sans bugs, reflétant une maîtrise à la fois des fondamentaux et des améliorations de PHP moderne.