【发布时间】:2017-03-24 04:44:51
【问题描述】:
我正在将生产代码从PHP5.3 迁移到PHP7.1,代码中有break 2; 在if 条件内嵌套了两级while 循环,我得到以下错误:
PHP 致命错误:无法“打破”2 个级别
为什么在 PHP7.1 中删除了两级中断以及它的替代解决方案是什么?
【问题讨论】:
-
我的回答对你有帮助吗?
-
至少可以运行但需要重新编写逻辑。
我正在将生产代码从PHP5.3 迁移到PHP7.1,代码中有break 2; 在if 条件内嵌套了两级while 循环,我得到以下错误:
PHP 致命错误:无法“打破”2 个级别
为什么在 PHP7.1 中删除了两级中断以及它的替代解决方案是什么?
【问题讨论】:
你可以通过改变来解决这个问题:
break 2;
作者:
break;
您进入一个循环而不是两个嵌套循环。这就是为什么你不能“打破 2”(因为 2 表示你在一个嵌套循环中)。出现该错误是因为 PHP7 比以前的版本更严格。
注意:您不能从 if 语句中“中断”。您只能从循环中中断。
【讨论】: