1

我有一个while循环,它调用一个从数据库中检查一些东西的函数。我怎样才能从此函数循环continue;while简单地调用continue是行不通的。

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

有什么建议么?

4

2 回答 2

1

那么你能做的就是

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

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

于 2011-08-26T00:28:09.607 回答
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。

于 2011-08-26T00:52:52.760 回答