当前位置: 首页 > 知识库问答 >
问题:

在Php'foreach'中,跳过当前迭代块和循环的其余部分[duplicate]

齐晟
2023-03-14

Php'continue'将告诉它跳过当前的迭代块,但继续循环的其余部分。在所有scenerios(for,while,等等)中都可以工作。但是我想跳过这个循环的其余部分。我尝试使用break;但是不是work。

if ($column_names > 0) {
    foreach ($column_names as $heading) {
        foreach ($heading as $column_heading)
            if($column_heading == "trip_id"){
                break;
            }
            if($column_heading == "number_of_pessengers"){
                $column_heading = "No. pessengers";
            }
            $cellWidth = $pdf->GetStringWidth($column_heading);
            $pdf->Cell($cellWidth + 2, 10, $column_heading, 1);
    }
}

我的代码出了什么问题。

共有1个答案

沈树
2023-03-14

尝试中断2;

如果要退出嵌套循环,必须使用“argument”break。

foreach ($column_names as $heading) {
    foreach ($heading as $column_heading)
        if($column_heading == "trip_id"){
            break 2; //break out of both loops.
        }
        if($column_heading == "number_of_pessengers"){
            $column_heading = "No. pessengers";
        }
        $cellWidth = $pdf->GetStringWidth($column_heading);
        $pdf->Cell($cellWidth + 2, 10, $column_heading, 1);
     }
}

谁知道你可以用break放一个数字,也可以用contine放同样的方法。

break接受一个可选的数值参数,该参数告诉它要分解出多少个嵌套的封闭结构。默认值为1,只有直接的封闭结构被断开。

干杯

 类似资料:
  • 问题内容: 我有一个循环列表,到达后我想跳过3个元素。在此答案中,提出了一些建议,但我未能充分利用它们: 四次当然是胡说八道,而四次是行不通的。 输出应如下所示: 问题答案: 用于循环;您可以在自己的代码中执行此操作,然后在循环内推进迭代器;再次调用iterable只会返回相同的iterable对象,因此您可以在下一次迭代中紧跟着在循环内推进iterable 。 通过函数推进迭代器; 它可以在Py

  • 有没有一种优雅的方法可以跳过while-loop中的迭代? 我想做的是

  • 问题内容: 我的代码产生了意外的结果。看来我的for循环跳过了第一次迭代,我不明白为什么。 返回…(假设输入的数字是姓名) 为什么第一个get.nextLine()被跳过? 问题答案: 当前,您对Scanner#nextInt的调用不占用换行符,因此将其传递给您的第一次调用,因此 不会 阻塞。 您将需要添加 通话后,您的第一个通话将阻止。

  • 问题 你想遍历一个可迭代对象,但是它开始的某些元素你并不感兴趣,想跳过它们。 解决方案 itertools 模块中有一些函数可以完成这个任务。 首先介绍的是 itertools.dropwhile() 函数。使用时,你给它传递一个函数对象和一个可迭代对象。 它会返回一个迭代器对象,丢弃原有序列中直到函数返回Flase之前的所有元素,然后返回后面所有元素。 为了演示,假定你在读取一个开始部分是几行注

  • 我们知道,在执行 while 循环或者 for 循环时,只要循环条件满足,程序将会一直执行循环体,不停地转圈。但在某些场景,我们可能希望在循环结束前就强制结束循环, Python 提供了 2 种强制离开当前循环体的办法: 使用 continue 语句,可以跳过执行本次循环体中剩余的代码,转而执行下一次的循环。 只用 break 语句,可以完全终止当前循环。 本节先讲解 break 的用法,cont

  • 在我的脚本中,有时会出现服务器、连接、配置或API问题,因此我实现了一个try-catch块来正确捕获异常并跳过它们。 ...但我的问题没有用这个解决方案解决,因为(引发问题的)元素不是问题本身。所以基本上,我的问题是,是否有任何方法可以捕获错误并继续您离开的地方:不跳过错误并转到下一个元素,而是在foreach循环中重复当前的迭代。 显然,继续和打破是行不通的! ...并且当catch部分捕获到