¿Cómo romper un bucle externo con PHP?

Uso de la palabra clave break: la palabra clave break se usa para terminar inmediatamente el bucle y el control del programa se reanuda en la siguiente instrucción que sigue al bucle. Para terminar el control de cualquier bucle, necesitamos usar la palabra clave break. La palabra clave break se utiliza para finalizar la ejecución de la estructura actual for, foreach, while, do-while o switch . Pero en los bucles anidados, para salir de todos o algunos de los bucles externos, necesitamos pasar un argumento numérico que indique cuántas estructuras envolventes anidadas se van a terminar.

Sintaxis:

break number_of_nested_loop_to_terminate;

Parámetros: la palabra clave break seguida de un argumento numérico que por defecto es 1. No se permite pasar variables y 0 como argumento numérico.

Ejemplos:

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

Los siguientes programas ilustran cómo romper bucles externos en PHP:

Programa 1: programa PHP para mostrar el número mientras el bucle interno no finaliza.

<?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++;
    } 
}
  
?>
Producción:

1 2 3

Programa 2: programa PHP para buscar un número en una array y romper el bucle externo cuando lo encuentra.

<?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";
  
?>
Producción:

45 is found in the array

Usando la palabra clave goto: La palabra clave goto se usa para saltar la sección del programa. Salta a la etiqueta de destino.

Programa 3: programa PHP para romper el ciclo externo usando la palabra clave goto.

<?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";
  
?>
Producción:

45 is found in the array

Publicación traducida automáticamente

Artículo escrito por Mitrajit y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *