PHP - Перерыв после возвращения?
Мне нужно использовать break здесь, или он прекратит цикл и сразу вернется?
for($i = 0; $i < 5; $i ++) {
if($var[$i] === '') return false;
// break;
}
Спасибо!
Ответы
Ответ 1
Он будет запускаться только один раз, остановить цикл и выйти из функции/метода.
Можно утверждать, что это плохой стиль. Очень легко упустить, что return
позже, что плохо для отладки и обслуживания.
Использование break
может быть более чистым:
for($i = 0; $i < 5; $i ++) {
if($var[$i] === '')
{ set_some_condition;
break;
}
}
if (some_condition)
return;
Ответ 2
Если вы используете return
, ваша функция (или целая script) вернется - весь код после этого не будет выполнен. Поэтому, чтобы ответить на ваш вопрос: a break
здесь не требуется. Однако, если break
не был прокомментирован здесь, цикл остановился бы после одной итерации. Это потому, что ваш оператор if не использует фигурные скобки ({ ... }
), поэтому он охватывает только оператор return
(другими словами: break
в вашем примере всегда выполняется).
Ответ 3
Обновить:
Для PHP 7 требуется return
. A break;
не требуется, потому что цикл заканчивается на return
.
A break;
обычно используется в коммутаторе или цикле всякий раз, когда вы нашли нужный элемент.
Пример:
$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.
}