運算符與流程控制是程序邏輯的骨架。本文通過 11 個 Demo 系統講解字符串拼接、自增自減、比較邏輯、三元運算符、錯誤抑制、if/switch/while/for/do-while/break/continue 等核心語法。
$username = 'chaoyv';
echo "His name is $username!"; // 雙引號解析變量
echo 'His name is $username!'; // 單引號原樣輸出
echo "His name is {$username}!"; // 複雜表達式加花括號
$a = 5; $b = 6; $a += $b; // 11 $a = ++$b; // 前增:$b=7, $a=7 $a = $b++; // 後增:$a=6, $b=7
| 運算符 | 名稱 | 示例 | 結果 |
|---|---|---|---|
| == | 值相等 | 5 == '5' | true |
| === | 全等(類型+值) | 5 === '5' | false |
| != / <> | 不相等 | — | — |
| !== | 不全等 | — | — |
| && / and | 邏輯與 | $a && $b | 短路 |
| || / or | 邏輯或 | $a || $b | 短路 |
| ! | 邏輯非 | !$a | — |
$sum = $total > 50 ? '成功' : '失敗';
PHP 7+ 支持 ?? 空合並運算符:$x = $y ?? 'default'。
$a = @(100 / 0); // 不報 Warning,返回 false // 生產環境慎用,會隱藏真實錯誤
// if-elseif-else
if ($age < 18) { echo '<18'; }
elseif ($age < 30) { echo '<30'; }
else { echo '成年'; }
// switch-case-break
switch ($weekday) {
case 1: echo '週一'; break;
case 2: echo '週二'; break;
default: echo '其他';
}
// while
while ($a > 0) { echo $a--; }
// for
for ($a=10; $a>0; $a--) { echo $a; }
// do-while(至少執行一次)
do { echo $a--; } while ($a > 0);
break:跳出當前循環/switchcontinue:跳過本次循環,進入下一次迭代exit/die:終止腳本執行for ($i=0; $i<10; $i++) {
if ($i === 5) continue; // 跳過 5
echo $i;
}
===/!== 避免弱類型陷阱。count($arr),預存變量。
3. switch 匹配嚴格相等(===),字符串與數字不自動轉換。
4. 深層嵌套時考慮提前 return/continue 降低縮進(衛語句模式)。