Les structures de contrôle de flux en PHP vous permettent de contrôler l’exécution de votre code en fonction de certaines conditions. Voici quelques exemples de structures de contrôle de flux couramment utilisées en PHP :
L’instruction if
:
<?php
$a = 3;
$b = 2;
if ($a > $b) {
// cette partie du code sera exécutée si la condition est vraie
echo "a est plus grand que b";
}
?>
L’instruction if…else
:
<?php
$a = 3;
$b = 2;
if ($a > $b) {
// cette partie du code sera exécutée si la condition est vraie
echo "a est plus grand que b";
} else {
// cette partie du code sera exécutée si la condition est fausse
echo "a est plus petit ou égal à b";
}
?>
L’instruction if…elseif…else
:
<?php
$a = 3;
$b = 2;
if ($a > $b) {
// cette partie du code sera exécutée si la première condition est vraie
echo "a est plus grand que b";
} elseif ($a < $b) {
// cette partie du code sera exécutée si la première condition est fausse et que la deuxième condition est vraie
echo "a est plus petit que b";
} else {
// cette partie du code sera exécutée si aucune des conditions précédentes n'est vraie
echo "a est égal à b";
}
?>
La boucle while
:
<?php
$i = 1;
while ($i <= 5) {
// cette partie du code sera exécutée tant que la condition est vraie
echo "$i ";
$i++;
}
// affiche "1 2 3 4 5 "
?>
La boucle for
:
<?php
for ($i = 1; $i <= 5; $i++) {
// cette partie du code sera exécutée tant que la condition est vraie
echo "$i ";
}
// affiche "1 2 3 4 5 "
?>
La boucle do...while
:
La boucle do...while
est similaire à la boucle while
, mais la condition est vérifiée à la fin de chaque itération au lieu d’au début. Cela signifie que la boucle do...while
sera toujours exécutée au moins une fois, même si la condition est fausse :
<?php
$i = 1;
do {
// cette partie du code sera exécutée au moins une fois, puis tant que la condition est vraie
echo "$i ";
$i++;
} while ($i <= 5);
// affiche "1 2 3 4 5 "
?>
Les instructions break et continue
:
Les instructions break
et continue
vous permettent de contrôler l’exécution de boucles en PHP. L’instruction break
interrompt complètement la boucle et passe à la prochaine instruction après la boucle, tandis que l’instruction continue
saute simplement à la prochaine itération de la boucle :
<?php
for ($i = 1; $i <= 10; $i++) {
if ($i == 5) {
// interrompt complètement la boucle et passe à la prochaine instruction après la boucle
break;
}
echo "$i ";
}
// affiche "1 2 3 4 "
for ($i = 1; $i <= 10; $i++) {
if ($i % 2 == 0) {
// saute à la prochaine itération de la boucle
continue;
}
echo "$i ";
}
// affiche "1 3 5 7 9 "
?>
La fonction switch
:
La fonction switch
vous permet de vérifier une variable ou une expression contre plusieurs valeurs possibles (appelées "cas") et d’exécuter du code en conséquence. Elle est souvent utilisée comme une alternative plus concise aux instructions if...elseif...else
lorsqu’il y a de nombreux cas à tester :
<?php
$fruit = "pomme";
switch ($fruit) {
case "banane":
echo "C'est une banane";
break;
case "pomme":
echo "C'est une pomme";
break;
case "orange":
echo "C'est une orange";
break;
default:
echo "Je ne sais pas quel fruit c'est";
}
// affiche "C'est une pomme"
?>
L’instruction goto
:
L’instruction goto
vous permet de sauter à une étiquette (une marque définie dans votre code) à n’importe quel moment. Elle peut être utilisée pour simplifier certains scripts qui contiennent de nombreuses instructions break
ou continue
, ou pour créer des boucles infinies avec une sortie conditionnelle :
<?php
// exemple de boucle infinie avec une sortie conditionnelle
$i = 1;
my_loop:
if ($i > 5) {
// sort de la boucle lorsque la condition est vraie
goto end_loop;
}
echo "$i ";
$i++;
goto my_loop;
end_loop:
// fin de la boucle
?>
Il est important de noter que l’instruction goto
est considérée comme une constructions "déviante" et doit être utilisée avec prudence dans vos scripts. Elle peut rendre votre code difficile à lire et à comprendre, et peut être source de bugs difficiles à déboguer. Utilisez-la uniquement lorsque cela est nécessaire et qu’il n’existe pas de solution plus claire et concise.
Be the first to comment