Facebook Google+


Ejemplos de continue en for y foreach
#1
Hola amigos: no me queda muy clara la utilidad de la keyword continue en bucles como for() y foreach() ya que la verdad nunca me vi forzado a utilizarla, algun ejemplo?
 
Reply
#2
Bueno, digamos que sino utilizas "continue" vas a tener un if() que va a cubrir todo el interior del bloque for o del loop que sea y es por lo pronto bastante desprolijo:

Código PHP:
foreach ($palabras as $palabra)
{
    if (!
in_array($palabra,$articulos)){
        
/*
         codigo    
         */
    
}


versus

Código PHP:
foreach ($palabras as $palabra)
{
    if (
in_array($palabra,$articulos))
        break;
        
    
/*
     codigo    
     */    

 
Reply
#3
Break: Finaliza la ejecución dentro de: for, foreach, while, do-while o switch.

Continue: Salta la iteracción actual del bucle y continúa con la siguiente.
    
Código:
$i = 0;
while (++$i) {
    switch ($i) {
    case 5:
        echo "$i Sale del switch\n";
        break;
    case 9:
        echo "$i Sale del switch y del while\n";
        break 2;
    }

    if ($i === 8) {
        echo "$i Continue: No completa la iteracción actual\n";
        continue;
    }
    
    echo "$i Fin de la iteración\n";
}
   
Resultado:
   

     1 Fin de la iteración
     2 Fin de la iteración
     3 Fin de la iteración
     4 Fin de la iteración
     5 Sale del switch
     5 Fin de la iteración
     6 Fin de la iteración
     7 Fin de la iteración
     8 Continue: No completa la iteracción y pasa a la siguiente
     9 Sale del switch y del while 
    
En el continue también se puede salir de varios niveles: "continue 2;" - "continue 3;"... igual que se hace con break.
[Imagen: 1489128820_fbsnVWR5Pg5WrzX.png]
 
Reply
#4
Cita:En el continue también se puede salir de varios niveles: "continue 2;" - "continue 3;"... igual que se hace con break.

Cierto, son muy utiles, te ahorras muchas banderas en el caso de foreach, ya para for() o while() podrian sumarse condiciones para la salida aunque es mas simple con esas instrucciones.
 
Reply
  


Salto de foro:


Browsing: 1 invitado(s)