在 PHP 中,可搭配 if 陳述式使用 && (AND) 運算子檢查兩個條件是否皆為真。程式區塊僅在兩條件都評估為 true 時執行;任一條件為 false 即跳過區塊。
PHP 也有類似 && 的 "and" 關鍵字,但優先權較低,在複雜運算式中行為可能不同。建議使用 && 以獲得更好清晰度和一致性。
基本語法
if (condition1 && condition2) { echo "Both conditions are true!"; }
程式區塊僅在 condition1 和 condition2 皆為真時執行。任一條件為假即完全跳過區塊。
範例 1:基本 AND 邏輯
這裡展示 && 搭配不同真/假組合的運作
<?php if (true && true) { echo "true<br>"; } else { echo "false<br>"; } if (true && false) { echo "true<br>"; } else { echo "false<br>"; } if (false && true) { echo "true<br>"; } else { echo "false<br>"; } if (false && false) { echo "true<br>"; } else { echo "false<br>"; } ?>
true false false false
僅當兩條件皆真時輸出 "true"。其他所有情況輸出 "false"。
範例 2:使用者登入驗證
檢查使用者名稱和密碼的實際範例
<?php $username = "admin"; $password = "12345"; if ($username == "admin" && $password == "12345") { echo "Login successful!"; } else { echo "Invalid username or password."; } ?>
Login successful!
兩條件 ($username == "admin" 和 $password == "12345") 皆真,登入成功。
範例 3:帶括號的複雜條件
用括號分組條件避免優先權問題
<?php $age = 20; $country = "USA"; if ($age >= 18 && ($country == "USA" || $country == "Canada")) { echo "You are eligible to vote."; } else { echo "You are not eligible to vote."; } ?>
You are eligible to vote.
第一條件 ($age >= 18) 為真,第二條件 ($country == "USA" || $country == "Canada") 也為真,故兩者皆滿足。
關鍵點
| 運算子 | 優先權 | 建議 |
|---|---|---|
&& | 較高 | 建議用於清晰度 |
and | 較低 | 避免在複雜運算式使用 |
結論
在 PHP if 陳述式中用 && 檢查多重條件。結合 AND 和 OR 運算子時總是用括號,確保正確評估順序並避免非預期行為。
