W3docs

continue

Le mot-clé "continue" en PHP est une structure de contrôle qui permet de passer immédiatement à l'itération suivante d'une boucle.

Le mot-clé PHP "continue" : guide complet

En tant que développeur PHP, vous avez peut-être utilisé des boucles pour parcourir des arrays ou effectuer d'autres tâches. Le mot-clé continue est une structure de contrôle en PHP qui saute immédiatement à l'itération suivante lorsqu'une condition spécifiée est remplie. Dans cet article, nous allons explorer en profondeur la syntaxe et l'utilisation du mot-clé continue, et vous fournir de nombreux exemples pour vous aider à maîtriser cette importante fonctionnalité PHP.

Syntaxe

Le mot-clé continue est utilisé pour ignorer l'itération courante et passer à la suivante en PHP. Voici la syntaxe de base pour utiliser le mot-clé continue en PHP :

La syntaxe de continue en PHP

continue;

Dans cet exemple, le mot-clé continue ignore l'itération courante et passe à la suivante.

Exemples

Voyons quelques exemples pratiques de la façon dont le mot-clé "continue" peut être utilisé :

Exemples de continue en PHP

<?php

// Example 1
for ($i = 0; $i < 10; $i++) {
  if ($i == 5) {
    continue;
  }
  echo $i . PHP_EOL;
}

// Output: 0 1 2 3 4 6 7 8 9

// Example 2
$myArray = ["apple", "banana", "cherry", "date"];
foreach ($myArray as $value) {
  if ($value == "cherry") {
    continue;
  }
  echo $value . PHP_EOL;
}

// Output: apple banana date

Dans ces exemples, le mot-clé continue contourne des itérations spécifiques lorsqu'une condition est remplie.

Utilisation avancée et comparaison

Ignorer les boucles imbriquées

Par défaut, continue n'affecte que la boucle la plus interne. Pour ignorer des itérations d'une boucle externe, passez un argument numérique optionnel qui indique à PHP combien de niveaux de boucle englobants appliquer au continue :

<?php

for ($i = 1; $i <= 3; $i++) {
  for ($j = 1; $j <= 3; $j++) {
    if ($j == 2) {
      continue 2; // skip to the next iteration of the OUTER loop
    }
    echo "i=$i, j=$j" . PHP_EOL;
  }
}

// Output:
// i=1, j=1
// i=2, j=1
// i=3, j=1

Comme continue 2 saute à l'itération suivante de la boucle externe, la boucle interne n'atteint jamais $j == 3. Un simple continue (ou continue 1) n'ignorerait que l'itération interne courante et la boucle interne afficherait quand même j=3.

continue vs break

Les débutants confondent souvent ces deux structures de contrôle. Alors que continue ignore l'itération courante et passe à la suivante, break met immédiatement fin à la totalité de la boucle. Utilisez continue pour filtrer des éléments au sein d'une boucle, et break pour sortir de la boucle une fois que vous avez ce dont vous avez besoin.

<?php

foreach ([1, 2, 3, 4, 5] as $n) {
  if ($n == 3) {
    continue; // skip 3, keep looping
  }
  echo $n . PHP_EOL;
}
// Output: 1 2 4 5

foreach ([1, 2, 3, 4, 5] as $n) {
  if ($n == 3) {
    break;    // stop the loop at 3
  }
  echo $n . PHP_EOL;
}
// Output: 1 2

Un piège courant : continue dans un switch

À l'intérieur d'une instruction switch, continue se comporte comme break et ne fait que quitter le switch. PHP émet même un avertissement. Lorsque vous êtes à l'intérieur d'une boucle et d'un switch et que vous souhaitez ignorer l'itération de la boucle, utilisez continue 2 :

<?php

foreach (["save", "skip", "delete"] as $action) {
  switch ($action) {
    case "skip":
      continue 2; // skip this loop iteration, not just the switch
    default:
      echo "Handling: $action" . PHP_EOL;
  }
}

// Output:
// Handling: save
// Handling: delete

Avantages

L'utilisation du mot-clé continue présente plusieurs avantages, notamment :

  • Amélioration de l'efficacité du code : il vous aide à contourner les itérations inutiles, rendant votre code plus efficace.
  • Logique simplifiée : il vous permet de gérer le filtrage conditionnel directement dans la boucle, réduisant le besoin de blocs if-else imbriqués complexes.

Conclusion

En conclusion, le mot-clé continue est un outil puissant pour les développeurs PHP, leur permettant de contourner des itérations spécifiques de boucle et d'améliorer l'efficacité et la lisibilité de leur code. N'oubliez pas qu'il fonctionne dans tous les types de boucles — for, foreach, while, et do...while — et que l'argument de niveau optionnel (continue 2) est ce qui vous permet d'atteindre les boucles imbriquées.

Sujets connexes

Pratique

Pratique
Quel est le but de l'instruction 'continue' en PHP ?
Quel est le but de l'instruction 'continue' en PHP ?
Was this page helpful?