PHP Continue-删除了对变量数字参数的支持(例如Continue$num)

PHP Continue-删除了对变量数字参数的支持(例如Continue$num),php,loops,continue,php-5.4,Php,Loops,Continue,Php 5.4,Changelog说,从5.4开始,发生了以下变化: 删除了将变量(例如,$num=2;continue$num;)作为数值参数传入的功能 他们究竟为什么要那样做 因此,基本上,这是无效的: for ($i = 0; $i < 10; $i++) { $num = 5; continue $num; } ($i=0;$i

Changelog说,从5.4开始,发生了以下变化: 删除了将变量(例如,$num=2;continue$num;)作为数值参数传入的功能

他们究竟为什么要那样做

因此,基本上,这是无效的:

for ($i = 0; $i < 10; $i++) {
    $num = 5;
    continue $num;
}
($i=0;$i<10;$i++)的
{
$num=5;
继续$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";
}

上述操作将跳过打印
$num
搜索替代函数或类似函数,以便能够将动态变量传递给continue而公认的答案与问题无关

我找到了一个可行的解决方案:

$totalLoops = 20;
$skipLoops = 5;
$cnt = 0;
while ($cnt < $totalLoops){
    ++$cnt;  
    if ($cnt <= $skipLoops){continue;}
    echo "Next number is: $cnt<br>";
}
$totaloops=20;
$skiplops=5;
$cnt=0;
而($cnt<$totaloops){
++$cnt;

如果($cnt这不是
continue
所做的。它跳过循环范围,而不是循环中的迭代。我也缺少这个功能。我想跳过一些循环,然后处理其余的循环。随着动态参数从continue中删除,我无法做到。无法理解你所说的??好吧,谢谢你的回答,我想我永远不会实现我理解这个“语言结构”。而且,我认为马里奥说的是,你应该引用你的例子(比如说,你是从.再次感谢我,我将标记为已接受。这回答了问题吗?这个答案与问题之间的关系是什么?我遇到了无法传递动态变量以继续的问题,而这个答案无法解决它。
$totalLoops = 20;
$skipLoops = 5;
$cnt = 0;
while ($cnt < $totalLoops){
    ++$cnt;  
    if ($cnt <= $skipLoops){continue;}
    echo "Next number is: $cnt<br>";
}