Пропустить текущую итерацию
У меня есть php-массив $numbers = array(1,2,3,4,5,6,7,8,9)
если я перебираю его, используя foreach foreach($numbers as $number)
и имеет оператор if if($number == 4)
Какова будет строка кода после этого, которая пропустит что-нибудь после этой строки и запустит цикл в 5? перерыв, возврат, выход?
Ответы
Ответ 1
Вы ищете инструкцию continue. Также полезно break, которое полностью завершит цикл. Оба оператора работают со всеми вариациями цикла, т.е. for
, foreach
и while
.
$numbers = array( 1, 2, 3, 4, 5, 6, 7, 8, 9 );
foreach( $numbers as $number ) {
if ( $number == 4 ) { continue; }
// ... snip
}
Ответ 2
continue;
Continue сообщит ему пропустить текущий блок итерации, но продолжит работу с остальной частью цикла. Работает во всех сценариях (для, while и т.д.)
Ответ 3
Я предполагаю, что вы ищете продолжение. Посмотрите http://php.net/manual/en/control-structures.continue.php
Dinel
Ответ 4
Break; остановит цикл и сделает компилятор сбоку цикла. продолжая; будет просто пропускать текущий и перейти к следующему циклу.
как:
$i = 0;
while ($i++)
{
if ($i == 3)
{
continue;
}
if ($i == 5)
{
break;
}
echo $i . "\n";
}
Вывод:
1
2
4
6