跳过PHP中被调用函数的循环迭代


Skip loop iteration from called function in PHP

我有一个while循环,它调用一个函数来检查数据库中的一些内容。如何从该函数中continue;循环while?简单地调用continue是行不通的。

问题是,这是一个用于现有应用程序的插件,因此,虽然我可以将代码放入while循环中,但我需要将代码保留在该函数中,以便轻松分发。

有什么建议吗?

好吧,你能做的是类似的事情

while(condition){
   ... do your stuff ...
   $continue = shouldContinue();
   if($continue){
     ... do your stuff ...
   }
 }

其中shouldContinue是一个函数,如果希望它继续,则返回true,否则返回false。我不知道你的目的是什么。如果您提供了更多信息,那么帮助会更容易

没有办法做到这一点。我刚刚写了这个:

for($i = 0; $i < 10; $i++){
    // dummy loops
    while(1){ 
        while(1){
            break test($i)+1;
            break;
        }
        // Do all the stuff that would normally be in the for loop
        echo $i;
        break;
    }
}
function test($i){
    if($i == 5)
        return 1;
}

然后我意识到这只是@mkk答案的一个非常非常丑陋的版本:http://codepad.org/tzciEeJN

您只能使用return来退出函数,并在switch语句/循环中中断continue。