php - 嵌套循环,打破内循环并继续主循环

php - Nested Loop, Break Inner Loops and Continue The Main Loop

我有以下循环,当内部循环内的检查满足条件时,我想 continue while 循环。我找到了一个解决方案 here 我在下面的示例中应用了 ),但它适用于 c#.

    $continue = false;
    while($something) {

       foreach($array as $value) {
        if($ok) {
          $continue = true;
           break;
           // continue the while loop
        }

           foreach($value as $val) {
              if($ok) {
              $continue = true;
              break 2;
              // continue the while loop
              }
           }
       }

      if($continue == true) {
          continue;
      }
    }

当内部循环被 break 淘汰时,PHP 是否有自己构建的通往 continue 主循环的方法?

我认为您不是 运行 continue 直到您处理完完整的内部 foreach 才无关紧要。你需要就地执行continue,而不是等到循环结束。

将代码改成这样

while($something) {

    foreach($array as $value) {
        if($ok) {
            continue;    // start next foreach($array as $value)
        }

        foreach($value as $val) {
            if($ok) {
               break 2;    // terminate this loop and start next foreach($array as $value)
            }
        }
    }

}

回复:您的评论

while($something) {

    if($somevalue) {
        // stop this iteration
        // and start again at iteration + 1
        continue;    
    }


}

看了这个问题的评论(被作者删除了)并做了一点研究,我发现 continue 也有参数喜欢 break。我们可以像这样向 continue 添加数字:

while($something) {

   foreach($array as $value) {
    if($ok) {
       continue 2;
       // continue the while loop
    }

       foreach($value as $val) {
          if($ok) {
          continue 3;
          // continue the while loop
          }
       }
   }
}