Instruction continue
Fait partie de la section Fondamentaux du Journey PHP de Coddy — leçon 52 sur 71.
Tandis que break sort complètement d'une boucle, parfois vous ne voulez qu'ignorer l'itération actuelle et passer à la suivante. C'est exactement ce que fait l'instruction continue.
Lorsque PHP rencontre continue, il passe immédiatement à l'itération suivante de la boucle, en sautant tout code restant dans l'itération actuelle.
<?php
for ($i = 1; $i <= 5; $i++) {
if ($i === 3) {
continue;
}
echo $i . "\n";
}
?>Cela produit :
1
2
4
5Remarquez que 3 manque. Lorsque $i vaut 3, l'instruction continue saute le echo et passe directement à l'itération suivante où $i devient 4.
Un cas d'utilisation courant est de filtrer les valeurs indésirables lors du traitement d'un tableau :
<?php
$numbers = [10, -5, 8, -3, 12];
foreach ($numbers as $num) {
if ($num < 0) {
continue;
}
echo $num . "\n";
}
?>Ceci affiche uniquement les nombres positifs : 10, 8 et 12. Les valeurs négatives sont ignorées, mais la boucle continue à parcourir tous les éléments.
La différence clé : break arrête la boucle complètement, tandis que continue ne saute que vers l'itération suivante.
Défi
FacileLisez deux lignes d'entrée :
- Une liste d'entiers séparés par des virgules (par exemple,
3,7,12,5,8,20,15) - Un nombre diviseur
Utilisez une boucle foreach pour itérer à travers le tableau. Utilisez continue pour ignorer les nombres qui sont divisibles par le diviseur donné. Affichez tous les autres nombres, chacun sur une ligne séparée.
Exemple 1 :
Si les entrées sont 1,2,3,4,5,6,7,8,9,10 et 3, la sortie devrait être :
1
2
4
5
7
8
10(Les nombres 3, 6 et 9 sont ignorés car ils sont divisibles par 3)
Exemple 2 :
Si les entrées sont 10,15,20,25,30 et 5, la sortie devrait être :
(Tous les nombres sont divisibles par 5, donc rien n'est imprimé)
Exemple 3 :
Si les entrées sont 7,14,21,10,5 et 7, la sortie devrait être :
10
5Aide-mémoire
L'instruction continue saute l'itération actuelle d'une boucle et passe à la suivante, sans quitter complètement la boucle.
Exemple de base avec une boucle for :
<?php
for ($i = 1; $i <= 5; $i++) {
if ($i === 3) {
continue;
}
echo $i . "\n";
}
?>Ceci affiche 1, 2, 4, 5 (en sautant 3).
Utilisation de continue avec foreach pour filtrer les valeurs d'un tableau :
<?php
$numbers = [10, -5, 8, -3, 12];
foreach ($numbers as $num) {
if ($num < 0) {
continue;
}
echo $num . "\n";
}
?>Ceci affiche uniquement les nombres positifs (10, 8, 12), en sautant les valeurs négatives.
Différence clé : break quitte complètement la boucle, tandis que continue ne saute que vers l'itération suivante.
Essayez vous-même
<?php
// Lire l'entrée
$input = trim(fgets(STDIN));
$divisor = intval(trim(fgets(STDIN)));
// Convertir la chaîne séparée par des virgules en tableau d'entiers
$numbers = array_map('intval', explode(',', $input));
// TODO: Écrivez votre code ci-dessous
// Utiliser une boucle foreach pour itérer à travers $numbers
// Utiliser continue pour ignorer les nombres divisibles par $divisor
// Afficher tous les autres nombres, chacun sur une ligne séparée
?>Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators