为什么在 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"。您只能从循环中中断。
我正在将生产代码从 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"。您只能从循环中中断。