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

PHP 流程控制 switch 語法與實用範例

     編輯:PHP 相關知識

PHP 流程控制 switch 語法與實用範例

switch 適用於「單一運算式對比多個離散值」的情境,比多層 if/elseif 更清晰、效能略優(內部用跳躍表優化)。

語法結構

switch (expr) {
    case value1:
        // 程式碼
        break;
    case value2:
        // 程式碼
        break;
    ...
    default:
        // 所有 case 都不符合時執行
}

執行流程

  1. 計算 expr 值。
  2. 依序比對 case 值(鬆散比較 ==)。
  3. 匹配成功後執行該 case 及其後所有程式碼,**直到遇到 break 或結束**。
  4. 若無 break 會「貫穿」執行下一 case(有時可利用此特性合併案例)。
  5. 全不匹配執行 default(可選)。

基本範例

<?php
$x = 2;
switch ($x) {
    case 0: echo "x 等於 0"; break;
    case 1: echo "x 等於 1"; break;
    case 2: echo "x 等於 2"; break;
    default: echo "x 不等於 0、1、2";
}
?>

輸出:x 等於 2

進階技巧

  • 合併案例:case 1: case 2: case 3: echo "1-3"; break;
  • 字串比對:case 'foo':、case 'bar': 皆可。
  • 型別注意:switch 使用 == 比較,0 == 'abc' 為 true,嚴格比對請用 switch (true) 配合 case $x === 0:。
  • default 位置:可放在任意位置,但習慣置底。

效能提示

PHP 7+ 對 switch 做了優化(編譯期建立跳躍表),大量離散值比對比 if/elseif 鏈快 2-3 倍。

總結

善用 switch 處理多值分派,代碼結構清晰、易維護,並能獲得效能優勢。記得加 break 避免非預期貫穿。

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