How to break an outer loop with PHP ?

Using break keyword: The break keyword is used to immediately terminate the loop and the program control resumes at the next statement following the loop. To terminate the control from any loop we need to use break keyword. The break keyword is used to end the execution of current for, foreach, while, do-while or switch structure. But in nested loops, to exit out from all or some of the outer loops, we need to pass a numeric argument which tells it how many nested enclosing structures are to be terminated.

Syntax:

break number_of_nested_loop_to_terminate;

Parameters: The break keyword followed by a numeric argument which is by default 1. Passing of variables and 0 as a numeric argument is not allowed.



Examples:

break 2; // It terminates second outer loop
break 3; // It terminates third outer loop
break $num; // Variable cannot be used as numeric argument since version 5.4.0
break 0; // 0 is not a valid argument to pass

Below programs illustrate how to break outer loops in PHP:

Program 1: PHP program to display the number while inner loop is not terminated.

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
// Initialize a number
$num = 10;
  
// Outer loop to iterate $num times
for( $i = 0; $i < 10; $i++ ) {
      
    // Initialize a variable $j
    $j = 1;
      
    // Inner loop
    while( $j <= 3 ) {
          
        if( $i >= 1 )
          
            // Breaking the outer loop
            break 2;
              
        echo $j . " ";
        $j++;
    
}
  
?>

chevron_right


Output:

1 2 3

Program 2: PHP program to search a number in an array and break the outer loop when it is found.

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
// Create a 2D array
$arr = array(
    array (105, 96, 112), 
    array(96, 45, 63) 
);
  
// Initialize a number which
// need to fine in the array
$num = 45;
  
// Declare a boolean variable and
// initialize it with false
$found = FALSE;
  
// Outer loop
for($i = 0; $i < 2; $i++) {
      
    // Inner loop
    for($j = 0; $j < 3; $j++) {
          
        if($num == $arr[$i][$j]) {
            $found = TRUE;
              
            // Terminate the outer loop
            break 2;
        }
    
}
  
// Check number is found or not
if( $found )
    echo $num . " is found in the array";
else
    echo $num . " is not found in the given array";
  
?>

chevron_right


Output:

45 is found in the array

Using goto keyword: The goto keyword is used to jump the section of the program. It jumps to the target label.

Program 3: PHP program to break the outer loop using goto keyword.

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
// Create a 2D array
$arr = array(
    array (105, 96, 112), 
    array(96, 45, 63) 
);
  
// Initialize a number which
// need to fine in the array
$num = 45;
  
// Declare a boolean variable and
// initialize it with false
$found = FALSE;
  
// Outer loop
for($i = 0; $i < 2; $i++) {
      
    // Inner loop
    for($j = 0; $j < 3; $j++) {
          
        if($num == $arr[$i][$j]) {
            $found = TRUE;
              
            // Terminate the outer loop
            // using goto keyword
            goto terminateLoop;
        }
    
}
  
// target label
terminateLoop:
  
// Check number is found or not
if( $found )
    echo $num . " is found in the array";
else
    echo $num . " is not found in the given array";
  
?>

chevron_right


Output:

45 is found in the array


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : Mitrajit