http://php.net/manual/en/control-structures.continue.php
Changelog表示自5.4起,发生以下变化: 删除了传入变量(例如$ num = 2; continue $ num;)作为数字参数的功能。
为什么他们会这样做?
所以,基本上,这现在无效:
for ($i = 0; $i < 10; $i++) {
$num = 5;
continue $num;
}
我是否理解正确?他们为什么要那样做?我只是想不出一个理由。
答案 0 :(得分:1)
$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 Manual,继续跳过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
答案 1 :(得分:0)
搜索替代功能或类似功能,以便能够将动态变量传递给 继续; ,并且接受的答案与问题无关,
我发现了一种可行的解决方法:
$totalLoops = 20;
$skipLoops = 5;
$cnt = 0;
while ($cnt < $totalLoops){
++$cnt;
if ($cnt <= $skipLoops){continue;}
echo "Next number is: $cnt<br>";
}
将 $ skipLoops 更改为您要跳过的循环次数,您可以选择动态继续。