ho bisogno di usare l'interruzione qui o arresterà il ciclo e soltanto restituirà una volta?PHP - Break after return?
for($i = 0; $i < 5; $i ++) {
if($var[$i] === '') return false;
// break;
}
Grazie!
ho bisogno di usare l'interruzione qui o arresterà il ciclo e soltanto restituirà una volta?PHP - Break after return?
for($i = 0; $i < 5; $i ++) {
if($var[$i] === '') return false;
// break;
}
Grazie!
Viene eseguito solo una volta, interrompe il ciclo e esce dalla funzione/metodo.
Si potrebbe obiettare che questo è uno stile negativo. È molto facile trascurare in seguito lo return
, il che non è corretto per il debug e la manutenzione.
Utilizzando break
potrebbe essere più pulito:
for($i = 0; $i < 5; $i ++) {
if($var[$i] === '')
{ set_some_condition;
break;
}
}
if (some_condition)
return;
Se si utilizza return
, la funzione (o intero script) restituirà - tutto il codice dopo che non sarà eseguito. Quindi, per rispondere alla tua domanda: uno break
non è richiesto qui. Tuttavia, se lo break
non è stato commentato qui, il ciclo si sarebbe fermato dopo un'iterazione. Questo perché l'istruzione if non utilizza le parentesi graffe ({ ... }
) in modo che copra solo l'istruzione return
(in altre parole: lo break
nell'esempio viene sempre eseguito).
Aggiornamento:
PHP 7 richiede un return
. A break;
non è necessario perché il ciclo termina su return
.
A break;
viene solitamente utilizzato in uno switch o in un loop ogni volta che si trova l'elemento necessario.
Esempio:
$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' funziona. Esempio semplice: '$ items = ['a', 'b', 'c']; foreach ($ articoli come articolo $) { echo $ item; if ($ item == 'a') return true; } ' – EGurelli
Grazie a @EGurelli. Ho aggiunto e modificato il tuo esempio. –