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

时间:2011-08-26 00:22:23

标签: php while-loop skip

我有一个while循环调用一个函数来检查数据库中的一些东西。我如何continue;来自此函数的while循环?简单地调用continue不起作用。

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

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

你可以做的就像是

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

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

答案 1 :(得分:0)

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

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。