http://php.net/manual/en/control-structures.continue.php
Список изменений говорит, что по состоянию на 5.4 произошло следующее изменение:
Удалена возможность передавать переменные (например, $ num = 2; continue $ num;) в качестве числового аргумента.
С какой стати они это сделали?
Так что, в принципе, это теперь недействительно:
for ($i = 0; $i < 10; $i++) {
$num = 5;
continue $num;
}
Я правильно понимаю? Почему они это сделали? Я просто не могу придумать причину.
$i = 0;
while ($i++ < 5) {
echo "Outer<br />\n";
while (1) {
echo "Middle<br />\n";
while (1) {
echo "Inner<br />\n";
continue 3;
}
echo "This never gets output.<br />\n";
}
echo "Neither does this.<br />\n";
}
здесь в приведенном выше примере из Руководство по PHP продолжение пропускает echo "This never gets output.<br />\n";
а также echo "Neither does this.<br />\n";
заявление и continue 3;
обозначает номер цикла для продолжения
for ($i = 0; $i < 10; $i++) {
$num = 5;
continue ;
echo $num;
}
выше будет пропустить печать $num
Поиск альтернативной функции или аналога для возможности передачи динамической переменной Продолжить; и принятый ответ нигде не связан с вопросом,
Я нашел обходной путь, который работает вместо этого:
$totalLoops = 20;
$skipLoops = 5;
$cnt = 0;
while ($cnt < $totalLoops){
++$cnt;
if ($cnt <= $skipLoops){continue;}
echo "Next number is: $cnt<br>";
}
Изменить $ skipLoops сколько циклов вы хотите пропустить, и у вас есть альтернатива динамического продолжения.