運算子是程式語言操作資料的核心符號。本文系統整理 PHP 四大類常用運算子,附上運算類型、符號、範例與結果說明,適合快速查閱與夯實基礎。
用於基本數學運算,支援標量數值運算。
| 運算類型 | 運算子 | 範例 | 結果說明 |
|---|---|---|---|
| 取反(負號) | - | -$a | 返回 $a 的負值 |
| 加法 | + | $a + $b | 返回 $a 與 $b 的和 |
| 減法 | - | $a - $b | 返回 $a 與 $b 的差 |
| 乘法 | * | $a * $b | 返回 $a 與 $b 的積 |
| 除法 | / | $a / $b | 返回 $a 與 $b 的商(浮點數) |
| 取餘(模數) | % | $a % $b | 返回 $a 除以 $b 的餘數 |
| 冪運算 | ** | $a ** $b | 返回 $a 的 $b 次方(PHP 5.6+) |
用於布林邏輯判斷,支援短路求值特性。
| 運算類型 | 運算子 | 範例 | 結果說明 |
|---|---|---|---|
| 邏輯 AND | && | $a && $b | $a 與 $b 皆為 true 時回傳 true |
| and | $a and $b | ||
| 邏輯 OR | || | $a || $b | $a 或 $b 至少一個為 true 時回傳 true |
| or | $a or $b | ||
| 邏輯 XOR | xor | $a xor $b | $a、$b 其一為 true、一為 false 時回傳 true |
| 邏輯 NOT | ! | !$a | $a 為 false 時回傳 true,反之亦然 |
優先級提醒:
&&優先於||;and/or優先級極低,建議統一使用&&/||並善用括號明確邏輯分組。
基本賦值 = 將右側運算結果存入左側變數。複合賦值運算子結合算術運算與賦值,簡化程式碼。
| 運算類型 | 運算子 | 範例 | 等價寫法 |
|---|---|---|---|
| 加法賦值 | += | $a += 5 | $a = $a + 5 |
| 減法賦值 | -= | $a -= 5 | $a = $a - 5 |
| 乘法賦值 | *= | $a *= 5 | $a = $a * 5 |
| 除法賦值 | /= | $a /= 5 | $a = $a / 5 |
| 取餘賦值 | %= | $a %= 5 | $a = $a % 5 |
| 串接賦值 | .= | $a .= 'str' | $a = $a . 'str' |
比較兩個運算元,回傳布林值。重點區分「相等」與「全等」。
| 運算類型 | 運算子 | 範例 | 結果說明 |
|---|---|---|---|
| 小於 | < | $a < $b | $a 小於 $b 為 true |
| 大於 | > | $a > $b | $a 大於 $b 為 true |
| 小於等於 | <= | $a <= $b | $a 小於或等於 $b 為 true |
| 大於等於 | >= | $a >= $b | $a 大於或等於 $b 為 true |
| 相等(值) | == | $a == $b | 值相等(經型別轉換)為 true |
| 全等(值+型別) | === | $a === $b | 值相等且型別相同為 true |
| 不相等 | != 或 <> | $a != $b | 值不相等為 true |
| 不全等 | !== | $a !== $b | 值不相等或型別不同為 true |
| 太空船運算子 | <=> | $a <=> $b | $a<$b 回傳 -1;相等 0;$a>$b 回傳 1(PHP 7+) |
===/!==,避免隱含型別轉換導致邏輯錯誤(如 "0" == false 為 true)。$a += $b++ 中 $b 先參與運算再遞增。<=>)極適合排序回呼函式:usort($arr, fn($a,$b) => $a <=> $b);