Faites réagir vos scripts avec if et match, puis répétez des actions avec for, foreach et while.
Ouvrir cette leçon dans KodokonUne condition permet au script de choisir un chemin : « si ceci est vrai, fais cela, sinon fais autre chose ». Le mot-clé if teste une expression qui vaut true ou false, grâce aux opérateurs de comparaison : > (supérieur), < (inférieur), >=, <=, === (égal, valeur ET type identiques) et !== (différent). elseif ajoute un test supplémentaire si le précédent a échoué, et else s'exécute quand aucun test n'a réussi. Les tests sont lus de haut en bas : le premier qui est vrai gagne.
<?php
$temperature = 12;
if ($temperature > 25) {
echo "Il fait chaud.";
} elseif ($temperature > 15) {
echo "Il fait doux.";
} else {
echo "Prenez une veste !";
}Quand vous comparez une même variable à plusieurs valeurs précises, l'expression match est plus élégante. Elle compare la variable à chaque cas (comparaison stricte, valeur et type) et renvoie directement une valeur, que l'on peut ranger dans une variable. Le cas default sert de filet de sécurité si aucune valeur ne correspond.
<?php
$day = "saturday";
$message = match ($day) {
"saturday", "sunday" => "C'est le week-end !",
"monday" => "Courage pour la reprise.",
default => "Bonne journée de semaine.",
};
echo $message;Une boucle répète un bloc d'instructions plusieurs fois, sans copier-coller le code. La boucle for est idéale quand on connaît le nombre de tours à l'avance. Elle se lit en trois temps, séparés par des points-virgules : le départ ($i = 1), la condition de poursuite ($i <= 5, on continue tant qu'elle est vraie) et le pas ($i++, qui ajoute 1 à $i à chaque tour).
<?php
for ($i = 1; $i <= 5; $i++) {
echo "Tour numéro {$i}<br>";
}Deux autres boucles complètent la panoplie. foreach parcourt un tableau (une liste de valeurs, détaillée dans la prochaine leçon) et vous donne chaque élément l'un après l'autre. while répète son bloc tant que sa condition reste vraie : c'est à vous de faire évoluer la situation à l'intérieur de la boucle pour qu'elle finisse par s'arrêter.
<?php
$fruits = ["pomme", "poire", "kiwi"];
foreach ($fruits as $fruit) {
echo "Fruit : {$fruit}<br>";
}
$countdown = 3;
while ($countdown > 0) {
echo "{$countdown}...<br>";
$countdown--;
}
echo "Partez !";else est-il exécuté ?match par rapport à if ?while reste toujours vraie ?