【问题标题】:Why two level of break has been removed in PHP7.1 and what could be it's alternate solution?为什么 PHP7.1 中删除了两级中断,它的替代解决方案可能是什么?
【发布时间】:2017-03-24 04:44:51
【问题描述】:

我正在将生产代码从PHP5.3 迁移到PHP7.1,代码中有break 2; 在if 条件内嵌套了两级while 循环,我得到以下错误:

PHP 致命错误:无法“打破”2 个级别

为什么在 PHP7.1 中删除了两级中断以及它的替代解决方案是什么?

【问题讨论】:

  • 我的回答对你有帮助吗?
  • 至少可以运行但需要重新编写逻辑。

标签: php break php-5.3 php-7.1


【解决方案1】:

你可以通过改变来解决这个问题:

break 2;

作者:

break;

您进入一个循环而不是两个嵌套循环。这就是为什么你不能“打破 2”(因为 2 表示你在一个嵌套循环中)。出现该错误是因为 PHP7 比以前的版本更严格。

注意:您不能从 if 语句中“中断”。您只能从循环中中断。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    • 2011-02-23
    相关资源
    最近更新 更多