¿Necesito usar el break aquí o dejará de funcionar y solo regresará una vez?PHP - ¿Descanso después de regresar?
for($i = 0; $i < 5; $i ++) {
if($var[$i] === '') return false;
// break;
}
¡Gracias!
¿Necesito usar el break aquí o dejará de funcionar y solo regresará una vez?PHP - ¿Descanso después de regresar?
for($i = 0; $i < 5; $i ++) {
if($var[$i] === '') return false;
// break;
}
¡Gracias!
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;
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).
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.
}
'return' funciona. Ejemplo simple: '$ items = ['a', 'b', 'c']; foreach ($ artículos como $ artículo) { echo $ item; if ($ item == 'a') return true; } ' – EGurelli
Gracias @EGurelli. He agregado y editado tu ejemplo. –