PHP - break 語句



PHP 中的 break 語句與 continue 語句一起被稱為“迴圈控制語句”。PHP 中的任何型別的迴圈(forwhiledo-while)都設計為根據所使用的測試條件執行一定數量的迭代。迴圈塊內的 break 語句將程式流程帶到迴圈塊之外,放棄可能剩餘的其餘迭代。

break 語句通常有條件地使用。否則,迴圈將在未完成第一次迭代的情況下終止。

break 語句的語法如下:

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

以下流程圖解釋了break 語句的工作方式:

PHP Break Statement

示例

以下 PHP 程式碼是迴圈中使用 break 的簡單示例。while 迴圈預計執行十次迭代。但是,迴圈內的 break 語句在計數器超過 3 時終止迴圈。

<?php
   $i = 1;

   while ($i<=10){
      echo "Iteration No. $i \n";
      if ($i>=3){
         break;
      }
      $i++;
   }
?>

它將產生以下輸出

Iteration No. 1
Iteration No. 2
Iteration No. 3

可以在 break 關鍵字前面新增一個可選的數字引數。這在巢狀迴圈結構中特別有用。它指示要跳出多少個巢狀的封閉結構。預設值為 1,只跳出直接封閉的結構。

示例

下面的示例包含三個巢狀迴圈:一個 for 迴圈,其中包含一個 while 迴圈,而 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。

廣告