мне нужно использовать break здесь или он остановит цикл и просто вернется один раз?
for($i = 0; $i < 5; $i ++) {
if($var[$i] === '') return false;
// break;
}
Благодарю вас!
мне нужно использовать break здесь или он остановит цикл и просто вернется один раз?
for($i = 0; $i < 5; $i ++) {
if($var[$i] === '') return false;
// break;
}
Благодарю вас!
Он запустится только один раз, остановит цикл и выйдет из функции/метода.
Хотя можно возразить, что это плохой стиль. Очень легко не заметить это return
позже, что плохо для отладки и обслуживания.
Использование break
может быть чище:
for($i = 0; $i < 5; $i ++) {
if($var[$i] === '')
{ set_some_condition;
break;
}
}
if (some_condition)
return;
Обновление:
Для PHP 7 требуется файл return
. break;
не нужен, потому что цикл заканчивается на return
.
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.
}
return
работает. Простой пример: $items = ['a' , 'b' , 'c']; foreach($items as $item) { echo $item; if($item == 'a') return true; }
23.01.2018 Если вы используете return
, ваша функция (или весь скрипт) вернется - весь последующий код выполняться не будет. Итак, чтобы ответить на ваш вопрос: break
здесь не требуется. Однако, если бы здесь не было закомментировано break
, цикл остановился бы после одной итерации. Это потому, что в вашем операторе if не используются фигурные скобки ({ ... }
), поэтому он охватывает только оператор return
(другими словами: break
в вашем примере всегда выполняется).