2010-12-06 11 views

Respuesta

364

break termina un bucle por completo, simplemente continue atajos de la iteración actual y pasa a la siguiente iteración.

while ($foo) { <--------------------┐ 
    continue; --- goes back here --┘ 
    break;  ----- jumps here ----┐ 
}          | 
       <--------------------┘ 

Esto se usaría como tan:

while ($droid = searchDroids()) { 
    if ($droid != $theDroidYoureLookingFor) { 
     continue; // ..the search with the next droid 
    } 

    $foundDroidYoureLookingFor = true; 
    break; // ..off the search 
} 
+45

El mal uso de estas funciones resulta en esto: http://www.flickr.com/photos/[email protected]/2762458387/ – neokio

+7

¡Me encanta esta respuesta! Recuérdeme la recomendación de WP.org sobre las condiciones de Yoda: http://make.wordpress.org/core/handbook/coding-standards/php/#yoda-conditions –

+1

son 7 años después de esta respuesta, pero vale la pena decir esto. como en [documentos php] (http://php.net/manual/en/control-structures.continue.php) de v4 'break' y' continue' son los mismos en 'switch'. ambos salen del interruptor. para salir del bucle externo si hay algo así, use 'continue 2'. – Amin

31

break sale del bucle en el que se encuentra, continúa con el siguiente ciclo del ciclo inmediatamente.

Ejemplo:

$i = 10; 
while (--$i) 
{ 
    if ($i == 8) 
    { 
     continue; 
    } 
    if ($i == 5) 
    { 
     break; 
    } 
    echo $i . "\n"; 
} 

salida voluntad:

9 
7 
6 
+1

+1; lo mismo que básicamente en cualquier otro idioma que use estas palabras clave. –

+0

+1; simplemente una explicación simple y un buen ejemplo, incluso la masa 'while (- $ i)' es un poco complicado para los novatos. –

+0

@Omeid Estoy de acuerdo, que es complicado ... pero no estaba seguro de la sintaxis for-loop de php y de la pereza para buscarlo – Hinek

2

break detendrá el bucle de corriente (o pasar un número entero de decir que el número de bucles de romper).

continue detendrá la iteración actual y comenzará la siguiente.

2

break saldrá del bucle, mientras que continue comenzará inmediatamente el siguiente ciclo del bucle.

4

Break termina la estructura actual de bucle/control y salta hasta el final de la misma, sin importar cuántas veces más el bucle se habría repetido.

Continuar salta al principio de la siguiente iteración del ciclo.

12

BREAK:

ruptura termina la ejecución de la corriente de , foreach, while, do-while o conmutador de estructura.

CONTINUE:

continue se usa dentro de un bucle estructuras para omitir el resto de la iteración actual del bucle y continuar ejecución en la evaluación del estado del y entonces el comienzo de la siguiente iteración.

Dependiendo de su necesidad, puede restablecer la posición que se está ejecutando actualmente en su código a un nivel diferente de la anidación actual.

También, ver here para una artical detallando la rotura vs continuar con una serie de ejemplos

4

'Continuar' se usa dentro de la estructura del bucle para saltar el resto de la iteración actual del bucle y continuar la ejecución en la evaluación de la condición y luego el comienzo de la próxima iteración.

'break' finaliza la ejecución de la corriente para, foreach, while, do-while o switch structure.

break acepta un argumento numérico opcional que indica cuántas estructuras de alojamiento anidadas se deben separar.

Echa un vistazo a los siguientes enlaces:

http://www.php.net/manual/en/control-structures.break.php

http://www.php.net/manual/en/control-structures.continue.php

creo que sirve ..

3

ruptura utilizado para salir de la sentencia de bucle, pero siguen simplemente dejar de secuencia de comandos en concreto condición y luego continuar declaración de bucle hasta llegar al final ..

for($i=0; $i<10; $i++){ 
    if($i == 5){ 
     echo "It reach five<br>"; 
     continue; 
    } 
    echo $i . "<br>"; 
} 

echo "<hr>"; 

for($i=0; $i<10; $i++){ 
    if($i == 5){ 
     echo "It reach end<br>"; 
     break; 
    } 
    echo $i . "<br>"; 
} 

Espero que te pueda ayudar;

9

Para el registro:

Tenga en cuenta que en PHP la declaracióninterruptor se considera una estructura de bucle a los efectos de continuar .

+0

Me acabo de morder esta "característica". ¿Cómo puedo continuar un ciclo while basado en cosas descubiertas en una caja de conmutación? – MattBianco

Cuestiones relacionadas