if-else 雙分支提供二元決策路徑,條件為真執行第一塊,否則執行第二塊,確保總有一條路徑被執行。
if (條件表達式) {
// true 分支
語句群;
} else {
// false 分支
語句群;
}
<?php
$age = 17;
if ($age > 18) {
echo '你是成年人!';
} else {
echo '你是未成年人!';
}
// 輸出:你是未成年人!
?>
┌─────────────┐
│ 條件表達式 │
└──────┬──────┘
│
┌────────┴────────┐
True False
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ 真分支代碼 │ │ 偽分支代碼 │
└──────┬──────┘ └──────┬──────┘
│ │
└────────┬────────┘
▼
┌─────────────┐
│ 繼續後續 │
└─────────────┘
<?php
$score = 85;
if ($score >= 60) {
if ($score >= 90) {
echo '優秀';
} else {
echo '及格';
}
} else {
echo '不及格';
}
?>
<?php if ($age > 18): ?>
<p>成年人內容</p>
<?php else: ?>
<p>未成年人內容</p>
<?php endif; ?>
| 錯誤 | 後果 | 修正 |
|---|---|---|
漏寫 else 大括號 | 只套用下一條語句 | 永遠加 {} |
條件寫成賦值 = | 永遠為真/假 | 用 === 或 Yoda 條件 18 === $age |
| 巢狀過深 | 可讀性極差 | 提取函數、衛語句、switch 重構 |
is_、has_、can_ 前綴$isAdult = $age > 18雙分支是業務邏輯決策的核心結構,清晰的真/假分支設計直接決定代碼質量。