Ale*_*lex 22 php conditional if-statement exit
if如果满足某个条件,如何退出块?
我尝试使用break但它不起作用:
if($bla):
$bla = get_bla();
if(empty($bla)) break;
do($bla);
endif;
Run Code Online (Sandbox Code Playgroud)
它说:致命错误:无法打破/继续1级...
Bur*_*zel 39
在PHP 5.3中,您可以使用goto
if($bla):
$bla = get_bla();
if(empty($bla)) goto end;
do($bla);
endif;
end:
Run Code Online (Sandbox Code Playgroud)
但我个人认为这是一个丑陋的解决方案.
为什么不转身呢.
if($bla):
$bla = get_bla();
if(!empty($bla)) {
do($bla);
}
endif;
Run Code Online (Sandbox Code Playgroud)
这样它只会在$ bla不为空的情况下运行你的代码.这就像if语句一样
尝试这个
do {
if($bla) {
$bla = get_bla();
if (empty($bla)) {
break;
}
do($bla);
}
/* You can do more comparisions here */
} while (0);
Run Code Online (Sandbox Code Playgroud)
我不敢相信还没有人发布此解决方案(以我的 PHP 风格编写):
if($bla){do{
$bla = get_bla();
if(empty($bla)) break;
do($bla);
}while(false);}
Run Code Online (Sandbox Code Playgroud)
复杂度仍然是 O(1)