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

标签 php break php-5.3 php-7.1

我正在将生产代码从 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/

相关文章:

php - 如何设置 curl 以允许 HTTPS?

php - HTML通过JSON输出,通过ajax激活

php - 使用 php 变量更新 mysql 数据库

java - 如何在没有break语句的情况下键入BinarySearch方法while循环?

for-loop - 打破 Julia 中的循环

PHP 函数(添加记录)无法正常工作

javascript - 中断无法在函数内使用标签时出现错误,找不到标签

php - 为什么当我遍历这个数组两次时 PHP 会覆盖值(通过引用,通过值)

php-5.3 - 是否有任何编译器/解释器来执行 php 5.3 的代码?

php - 在浏览器中模拟 PHP 的 CLI