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

PHP 流程控制總覽:順序、分支、迴圈三大結構完整指南

     編輯:PHP 綜合知識

程式流程控制僅有三種基本結構:順序、分支、迴圈。PHP 完整實現了結構化程式設計的所有控制流,本文提供全景式總覽與導航。

一、順序結構

預設自上而下逐行執行,無條件跳轉。所有 PHP 腳本本質上都是順序結構的組合。

二、分支結構(選擇性執行)

結構關鍵字分支數適用場景詳細指南
單分支if1條件滿足才執行PHP 單分支 if
雙分支if-else2真/假兩條路徑PHP 雙分支 if-else
多分支if-elseif-elseN多條互斥條件PHP 多分支
多路選擇switchN離散值匹配PHP switch 語句

三、迴圈結構(重複執行)

迴圈類型關鍵字判斷時機最少執行適用場景詳細指南
計數迴圈for先判斷0已知次數/計數器PHP for 迴圈
條件迴圈while先判斷0未知次數/條件驅動PHP while 迴圈
至少一次do-while後判斷1菜單/輸入驗證PHP do-while 迴圈
遍歷迴圈foreach先判斷0陣列/物件遍歷陣列章節

流程控制關鍵字補充

  • break:跳出當前迴圈或 switch,可加數字跳出多層 break 2
  • continue:跳過本次迴圈剩餘,進入下輪判斷,可加數字 continue 2
  • return:直接結束函數執行
  • exit/die:終止腳本執行
  • goto:無條件跳轉(慎用,PHP 5.3+)

替代語法(模板視圖層推薦)

<?php if ($cond): ?> ... <?php else: ?> ... <?php endif; ?>
<?php while ($row = $stmt->fetch()): ?> ... <?php endwhile; ?>
<?php for ($i=0; $i<10; $i++): ?> ... <?php endfor; ?>
<?php foreach ($items as $item): ?> ... <?php endforeach; ?>
<?php switch ($x): ?> <?php case 1: ?> ... <?php break; ?> <?php endswitch; ?>

最佳實踐原則

  1. 單一職責:每個分支/迴圈只做一件事
  2. 扁平化:衛語句提前返回,減少巢狀層級(建議 < 3 層)
  3. 語義化命名:$isValid、$hasPermission 替代複雜表達式
  4. 避免 goto:結構化控制流足以表達所有邏輯
  5. 測試邊界:0 次、1 次、最大次、異常中斷

進階:生成器簡化迴圈 (PHP 5.5+)

<?php
function numberGenerator($max) {
    for ($i = 0; $i < $max; $i++) {
        yield $i; // 暫停並產出值
    }
}

foreach (numberGenerator(1000000) as $n) {
    // 記憶體常數級,不會一次性生成百萬元素陣列
    if ($n > 10) break;
}
?>

掌握三大結構與關鍵字,配合現代 PHP 特性(生成器、箭頭函數、模式匹配 PHP 8+),能編寫出清晰、高效、可維護的流程邏輯。

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