我正在阅读我刚刚分配的代码,在许多case
语句中只有一个单独的break;
. 它没有包含在任何switch
语句中。它就在那里,似乎没有任何目的。我是 PHP 新手,这是一些高级代码的使用,还是只是剩余代码?
这是代码:
function foo() {
...many for/switch statements (all with closing brackets)...
break;
...other code....
}
我正在阅读我刚刚分配的代码,在许多case
语句中只有一个单独的break;
. 它没有包含在任何switch
语句中。它就在那里,似乎没有任何目的。我是 PHP 新手,这是一些高级代码的使用,还是只是剩余代码?
这是代码:
function foo() {
...many for/switch statements (all with closing brackets)...
break;
...other code....
}
使用此测试代码:
function testing() {
echo('begin...<br>');
break;
echo('end.<br>');
}
testing();
我得到输出(Windows 上的 PHP 5.3.10):
begin...
Fatal error: Cannot break/continue 1 level in E:\Dev\Webstore Dev\test.php on line xx
这意味着如果您没有遇到致命错误,那么它很可能包含在它想要突破的某个结构中,或者正如 DaveRandom 指出的那样,永远无法到达该行。
它在循环中吗?如果是这样,它将停止循环循环。
如果有switch
表达式,则知道 switch 通常包含break;
表达式,如下所示:
switch($conditions) {
case $case1 :
//do something and finish
break;
case $case2 :
// do something else and finish
break;
case $case3 :
//do something elser and continue with next case
case $case4 :
//finally do something else and finish
break;
default:
//if no case is matched, then do something here...
}
这就是为什么有break
礼物...
它也可以出现在循环中(,while
或)以停止进一步循环......for
foreach
do-while