PHP - Break 语句



break 语句和 continue 语句在 PHP 中被称为“循环控制语句”。PHP 中任何类型的循环(forwhile 或 do-while)都设计为根据所使用的测试条件运行一定数量的迭代。循环块内的 break 语句将指令流程带到块之外,放弃可能剩余的其余迭代。

break 语句通常是有条件地使用的。否则,循环将终止,而不完成第一次迭代本身。

break 语句的语法如下 -


while(expr){
   if (condition){
      break;
   }
}

以下流程图说明了 break 语句的工作原理 -

PHP break 语句

示例

下面的 PHP 代码是在循环中使用 break 的简单示例。while 循环应执行 10 次迭代。但是,当计数器超过 3 时,循环内的 break 语句会终止它。


<?php
   $i = 1;

   while ($i<=10){
      echo "第 $i 次迭代。\n";
      if ($i>=3){
         break;
      }
      $i++;
   }
?>

它将产生以下输出 -

第 1 次迭代。
第 2 次迭代。
第 3 次迭代。

可以在 break 关键字前面给出一个可选的数字参数。它在嵌套循环结构中特别有用。它告诉要从多少个嵌套的封闭结构中分离出来。默认值为 1,仅断开直接封闭结构。

示例

以下示例有三个嵌套循环:一个 for 循环,其中有一个 while 循环,而该循环又包含一个 do-while 循环。

最里面的循环执行 break。它前面的数字 “2” 将控制权从当前范围带入 for 循环,而不是立即的 while 循环。


<?php
   for ($x=1; $x<=3; $x++){
      $y=1;
      while ($y<=3){
         $z=1;
         do {
            echo "x:$x y:$y z:$z \n";
            if ($z==2){
               break 2;
            }
            $z++;
         }
         while ($z<=3);
         $z=1;
         $y++;
      }
   }
?>

它将产生以下输出 -

x:1 y:1 z:1
x:1 y:1 z:2
x:2 y:1 z:1
x:2 y:1 z:2
x:3 y:1 z:1
x:3 y:1 z:2

请注意,每次 “z” 的值变为 2 时,程序都会跳出 “y” 循环。因此,“y” 的值始终为 1。