PHP: Break et Continue
- by admin
Utilisation standard
Vous avez déjà sûrement utilisé la commande « break » dans vos éléments switch pour éviter de passé à la condition suivante et sortir de l’élément. Cette commande peut également être utilisée dans les boucles standards while, do…while et for. Sa fonction est la même, elle permet de casser la boucle et d’en sortir.
[php]
$i = 0 ;
while (true) {
if ($i == 10) {
break ;
}
$i++ ;
}
[/php]
La boucle ci-dessus bouclera 10x puis s’arrêtera. L’utilisation est identique dans les boucles do…while et for.
La commande « continue » elle, permet d’interrompre l’itération courante pour passer à la suivante.
[php]
for ($i = 0 ; $i < 10 ; $i++) {
if ($i >= 5 && $i <= 7) {
continue ;
}
}
[/php]
Cette boucle réalisera 10 itérations mais sera interrompue lors de la 6, 7 et 8ème itération.
Utilisation avancée
Les utilisations décrites ci-dessus sont standards et vous les avez probablement déjà expérimentées dans votre code. Toutefois, PHP propose en plus, le passage d’un entier à ces commandes qui permet de quitter plusieurs boucles en même temps.
[php]
for ($i = 0 ; $i < 10 ; $i++) {
for ($j = 0 ; $j < 10 ; $j++) {
if (($i + $j) % 2 == 0) {
// interrompt l’itération courante et la parente
continue 2 ;
}
if (($i + $j) > 15) {
// interrompt la boucle courante et la parente
break 2 ;
}
}
}
[/php]
Ces boucles, parfaitement inutiles, nous donne toutefois un bon exemple de l’interruption de deux boucles grâce à la commande « break 2 ; » et de la même manière avec la commande « continue 2 ; ».