PHP - Continue Statement



Like the break statement, continue is another "loop control statement" in PHP. Unlike the break statement, the continue statement skips the current iteration and continues execution at the condition evaluation and then the beginning of the next iteration.

The continue statement can be used inside any type of looping constructs, i.e., for, for-each, while or do-while loops. Like break, the continue keyword is also normally used conditionally.

Syntax of Continue Statement

The syntax of continue statement is as follows −

while(expr){
   if (condition){
      continue;
   }
}

Flowchart for Continue Statement

The following flowchart explains how the continue statement works −

Php Continue Statement

The program first checks a condition. If the condition is false, the loop terminates. If the condition is True, the program will proceed to the "Continue" statement.

The "Continue" statement skips the next stages and returns to check the condition again. If there is no "continue" statement, the program will execute the action. When the action is finished, the program returns to check the condition again.

Using Continue in For Loop

Given below is a simple example showing the use of continue. The for loop is expected to complete ten iterations. However, the continue statement skips the iteration whenever the counter id is divisible by 2.

<?php
   for ($x=1; $x<=10; $x++){
      if ($x%2==0){
         continue;
      }
      echo "x = $x \n";
   }
?>

Output

It will produce the following output −

x = 1
x = 3
x = 5
x = 7
x = 9

Using Continue with Multiple Loop

The continue statement accepts an optional numeric argument which tells it how many levels of enclosing loops it should skip to the end of. The default is 1.

<?php
   for ($i=1; $i<=3; $i++){
      for ($j=1; $j<=3; $j++){
         for ($k=1; $k<=3; $k++){
            if ($k>1){
               continue 2;
            }
            print "i: $i  j:$j  k: $k\n";
         }
      }
   }
?>

Output

It will generate the following result −

i: 1  j:1  k: 1
i: 1  j:2  k: 1
i: 1  j:3  k: 1
i: 2  j:1  k: 1
i: 2  j:2  k: 1
i: 2  j:3  k: 1
i: 3  j:1  k: 1
i: 3  j:2  k: 1
i: 3  j:3  k: 1

The continue statement in the inner for loop skips the iterations 2 and 3 and directly jumps to the middle loop. Hence, the output shows "k" as 1 for all the values of "i" and "k" variables.

Skip Specific Values in For Loop

In the code below, we will skip the values set in the for loop. In a loop that prints integers from 1 to 10, we will use the continue statement to skip the 5 number.

<?php
   for ($i = 1; $i <= 10; $i++) {
      if ($i == 5) {
         // Skip when $i is 5
         continue; 
      }
      echo "Number: $i\n";
   }
?> 

Output

This will create the below output −

Number: 1
Number: 2
Number: 3
Number: 4
Number: 6
Number: 7
Number: 8
Number: 9
Number: 10

Using Continue in a While Loop

This example shows how to use the continue statement within a while loop to skip odd integers and only print even numbers from 1 to 10.

<?php
   $num = 1;
   while ($num <= 10) {
      if ($num % 2 != 0) {
         $num++; 
         // Skip odd numbers
         continue; 
      }
      echo "Even Number: $num\n";
      $num++;
   }
?> 

Output

Following is the output of the above code −

Even Number: 2
Even Number: 4
Even Number: 6
Even Number: 8
Even Number: 10

Skip Elements in a Foreach Loop

In the following example, we are showing how to use the continue statement in a foreach loop to skip a specific value from an array.

<?php
   $fruits = ["Apple", "Banana", "Mango", "Orange", "Grapes"];
      
   foreach ($fruits as $fruit) {
      if ($fruit == "Mango") {
         
         // Skip "Mango"
         continue; 
      }
      echo "Fruit: $fruit\n";
   }
?> 

Output

Below is the output of the following code −

Fruit: Apple
Fruit: Banana
Fruit: Orange
Fruit: Grapes
Advertisements