2011-09-02 12 views

Respuesta

12

Se ejecutará una sola vez, dejará de funcionar y saldrá de la función/método.

Se podría argumentar que este es un mal estilo. Es muy fácil pasar por alto que return más tarde, lo que es malo para la depuración y el mantenimiento.

Usando break podría ser más limpio:

for($i = 0; $i < 5; $i ++) { 
    if($var[$i] === '') 
    { set_some_condition; 
     break; 
    } 
} 

if (some_condition) 
return; 
7

Si utiliza return, su función (o guión completo) devolverá - todo el código después de que no se ejecutará. Entonces, para responder a su pregunta, no es necesario un break aquí. Sin embargo, si el break no se comentó aquí, el ciclo se habría detenido después de una iteración. Esto se debe a que su instrucción if no utiliza llaves ({ ... }), por lo que solo cubre la declaración return (en otras palabras: el break en su ejemplo siempre se ejecuta).

2

actualización:

PHP 7 requiere un return. No es necesario un break; porque el ciclo termina en return.

A break; se usa generalmente en un interruptor o lazo siempre que haya encontrado el artículo que necesita.

Ejemplo:

$items = ['a' , 'b' , 'c']; 

foreach($items as $item) 
{ 
    if($item == 'a') 
    { 
     return true; // the foreach will stop once 'a' is found and returns true. 
    } 

    return false; // if 'a' is not found, the foreach will return false. 
} 
+0

'return' funciona. Ejemplo simple: '$ items = ['a', 'b', 'c']; foreach ($ artículos como $ artículo) { echo $ item; if ($ item == 'a') return true; } ' – EGurelli

+1

Gracias @EGurelli. He agregado y editado tu ejemplo. –

Cuestiones relacionadas