萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 網路程式設計 >> PHP 程式設計

PHP switch 多重條件判斷優化指南

何時使用 switch?

當需針對同一變數進行多值比較時(如 20 個旅遊目的地),if/elseif 鏈會冗長且效能較差。switch 只評估一次變數值,直接跳轉至對應 case,結構更清晰、效能更好。

基本結構

switch ($variable) {
    case "值1":
        // 程式碼
        break;
    case "值2":
        // 程式碼
        break;
    default:
        // 所有 case 都不符合時執行
}

旅遊建議範例

$destination = "Tokyo";
echo "Traveling to $destination<br />";

switch ($destination) {
    case "Las Vegas":
        echo "Bring an extra \$500";
        break;
    case "Amsterdam":
        echo "Bring an open mind";
        break;
    case "Egypt":
        echo "Bring 15 bottles of SPF 50 Sunscreen";
        break;
    case "Tokyo":
        echo "Bring lots of money";
        break;
    case "Caribbean Islands":
        echo "Bring a swimsuit";
        break;
    default:
        echo "Bring lots of underwear!";
}

輸出:
Traveling to Tokyo
Bring lots of money

關鍵細節:break 的重要性

若省略 break,程式會繼續執行下一個 case(fall-through)。除非刻意設計,否則每個 case 都應加上 break。

default 子句:防呆機制

永遠加上 default 處理預期外的值,避免邏輯漏洞。default 可放在任意位置,慣例放在最後。

switch vs if/else 選擇指南

  • 單一變數、多個離散值比較 → switch
  • 複雜條件式、範圍判斷、多變數組合 → if/else
  • 效能敏感且 case 較多 → switch 較優
copyright © 萬盛學電腦網 all rights reserved