1

我正在阅读我刚刚分配的代码,在许多case语句中只有一个单独的break;. 它没有包含在任何switch语句中。它就在那里,似乎没有任何目的。我是 PHP 新手,这是一些高级代码的使用,还是只是剩余代码?

这是代码:

function foo() {
...many for/switch statements (all with closing brackets)...
    break;
...other code....
}
4

3 回答 3

3

使用此测试代码:

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 指出的那样,永远无法到达该行。

于 2012-05-16T14:53:19.880 回答
1

它在循环中吗?如果是这样,它将停止循环循环。

于 2012-05-16T14:46:57.723 回答
0

如果有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或)以停止进一步循环......forforeachdo-while

于 2012-05-16T14:56:18.713 回答