(PHP 4, PHP 5, PHP 7, PHP 8)
L'instruction continue
est utilisée dans une boucle afin d'éluder les instructions de l'itération courante et de continuer l'exécution à la condition de l'évaluation et donc, de commencer la prochaine itération.
Note: En PHP, la structure
switch
est considérée comme une boucle parcontinue
.continue
se comporte commebreak
(lorsque aucun argument n'est passé) mais émettra un avertissement, car il est probable que ceci soit une erreur. Si unswitch
se trouve à l'intérieur d'une boucle,continue 2
va continuer sur la prochaine itération de la boucle externe.
continue
accepte un argument numérique optionnel qui vous indiquera combien de structures emboîtées doivent être éludées. La valeur par défaut est 1
, ce qui revient à aller directement à la fin de la boucle courante.
<?php
$arr = ['zero', 'one', 'two', 'three', 'four', 'five', 'six'];
foreach ($arr as $key => $value) {
if (0 === ($key % 2)) { // évite les membres pairs
continue;
}
echo $value . "\n";
}
?>
Les exemples ci-dessus vont afficher :
one three five
<?php
$i = 0;
while ($i++ < 5) {
echo "Outer\n";
while (1) {
echo "Middle\n";
while (1) {
echo "Inner\n";
continue 3;
}
echo "This never gets output.\n";
}
echo "Neither does this.\n";
}
?>
Les exemples ci-dessus vont afficher :
Outer Middle Inner Outer Middle Inner Outer Middle Inner Outer Middle Inner Outer Middle Inner
Oublier le point virgule après continue
peut porter à confusion. Voici un exemple de ce que vous ne devez pas faire :
<?php
for ($i = 0; $i < 5; ++$i) {
if ($i == 2)
continue
print "$i\n";
}
?>
On peut s'attendre à ce que le résultat soit :
0 1 3 4
Version | Description |
---|---|
7.3.0 | continue à l'intérieur d'un switch qui tente d'agir comme une déclaration break pour switch émettra E_WARNING . |