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
5Essayez 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 OperatorsEntraînez-vous par vous-même : Compilateur PHP en ligne