我正在将生产代码从 PHP5.3
迁移到 PHP7.1
,代码在嵌套的两层 while 循环中有 break 2;
在 if 条件下,出现以下错误:
PHP Fatal error: Cannot 'break' 2 levels
为什么在 PHP7.1 中删除了两级中断,它的替代解决方案是什么?
最佳答案
你可以通过改变来解决这个问题:
break 2;
通过:
break;
您进入了一个循环,而不是两个嵌套循环。这就是为什么你不能“打破 2”(因为 2 表示你在嵌套循环中)。出现这个错误是因为 PHP7 比以前的版本更严格。
注意:您不能从 if 语句中“中断”。您只能从循环中中断。
关于php - 为什么在 PHP7.1 中删除了两级中断,它的替代解决方案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42991599/