【发布时间】:2012-05-28 08:51:57
【问题描述】:
$foo=1;
function someFunction(){
if($foo==0){ //-------Will test, won't execute
bar();
}elseif($foo==1){ //--Will test, and execute
baz();
}elseif($foo==2){ //--Doesn't test
qux();
}elseif($foo==3){ //--Doesn't test
quux();
}else{ //-------------Doesn't test
death();
} //------------------The program will skip down to here.
}
假设 baz() 改变了 $foo 的值,并且每次都不同。我希望我的代码在第一个语句之后继续测试 elseif/else 语句,并在它们为真时运行它们。
我不想再次运行整个函数(即我不在乎 $foo = 0 还是 1)。我正在寻找类似“继续;”的东西。无论如何,请让我知道这是否可能。谢谢。 :)
编辑** 我的代码实际上比这要复杂得多。我只是为了理论而写下一些代码。我想要的只是脚本在通常不会的地方继续测试。
【问题讨论】:
-
你没有声明 foo 全局,所以 php 会报错
-
看起来像是 switch\case 的工作
-
也许这应该在 WHILE 循环中完成?
-
使用返回; ?我在 php 上不是 hax,所以我不知道 emypy 返回是否会起作用,但你可以尝试
-
我认为这是您的功能逻辑而不是代码的问题。听起来好像您的代码和您需要的逻辑不匹配。您需要首先确定逻辑应该如何工作,因为如果 while 循环、switch 和 elseifs 不起作用,我看不到您还剩下什么选项。
标签: php if-statement