首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 多層循環中 break 跳出指定層數的行為分析

     編輯:PHP 相關知識

PHP 中 break 可接受一個數字參數 n,表示跳出第 n 層循環(由內而外計數,預設為 1)。本文透過具體範例說明其在多層巢狀循環中的實際表現。

程式碼範例

<?php
// 當前循環層級由裡到外依次遞增,break 預設為 1
for ($i = 0; $i < 3; $i++) {
    foreach (array(1,2,3) as $val) {      // 第 2 層
        foreach (array(1,2,3) as $val) {  // 第 1 層(最內層)
            echo "1層循環<br/>";
            break 2; // 跳出第 2 層循環(即外層 foreach)
        }
        echo "2層循環<br/>";
    }
    echo "3層循環<br/>";
}
// 結果:
// 1層循環
// 3層循環
// 1層循環
// 3層循環
// 1層循環
// 3層循環
?>

執行流程解析

  1. 進入最內層循環(第 1 層),印出 1層循環。
  2. 執行 break 2,跳出第 2 層循環(外層 foreach),直接進入外層 for 循環的下一次迭代。
  3. 因此 2層循環 永遠不會輸出,而 3層循環 會在每次外層 for 迭代結束時輸出。
  4. 外層 for 共執行 3 次($i = 0,1,2),故輸出三組 1層循環 + 3層循環。

關鍵點

  • break n 的 n 代表要跳出的循環層數,從內層向外計數。
  • 若 n 大於實際巢狀深度,會跳出所有循環並繼續執行最外層後續代碼。
  • 不帶參數等同 break 1,僅跳出當前最內層循環。

善用 break n 可簡化多層循環的提前退出邏輯,避免使用旗標變數。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved