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

Why two level of break has been removed in PHP7.1 and what could be it's alternate solution?

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

PHP Fatal error: Cannot 'break' 2 levels

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

您可以通过更改解决此问题:

break 2;

作者:

break;

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

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