如果内部的foreach符合某些声明,是否有办法继续使用外部foreach?
在示例中
foreach($c as $v)
{
foreach($v as $j)
{
if($j = 1)
{
continue; // But not the internal foreach. the external;
}
}
}
答案 0 :(得分:75)
答案 1 :(得分:10)
试试这个:continue 2;
根据手册:
continue accepts an optional numeric argument which tells it how many levels of enclosing loops it should skip to the end of.
答案 2 :(得分:6)
此情况有两种解决方案,可以使用break
或continue 2
。请注意,当使用break来突破内部循环时,仍然会执行内部循环之后的任何代码。
foreach($c as $v)
{
foreach($v as $j)
{
if($j = 1)
{
break;
}
}
echo "This line will be printed";
}
另一个解决方案是使用continue
,然后再返回多少级别。
foreach($c as $v)
{
foreach($v as $j)
{
if($j = 1)
{
continue 2;
}
}
// This code will not be reached.
}
答案 3 :(得分:3)
<?php
foreach($c as $v)
{
foreach($v as $j)
{
if($j = 1)
{
continue 2; // note the number 2
}
}
}
?>
答案 4 :(得分:2)
尝试使用break
代替continue
。
您可以使用整数跟随break
,给出要突破的循环数。
答案 5 :(得分:2)
这将继续上面的水平(所以外部的foreach)
continue 2
答案 6 :(得分:0)
如果我找对你,你必须使用break
而不是继续
我在这里写了一个关于此问题的解释:What is meant by a number after "break" or "continue" in PHP?