首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 運算符大全:優先級、結合性與實戰應用指南

     編輯:PHP 綜合知識

PHP 擁有豐富的運算符體系,掌握優先級與結合性是編寫正確表達式的關鍵。本文整理完整運算符分類與優先級表,並提供實戰避坑指南。

運算符分類總覽

分類運算符說明
算術+ - * / % ** ++ --數學運算
賦值= += -= *= /= %= **= .=變量賦值與複合賦值
比較== === != !== < > <= >= <=>值比較(太空船運算符 PHP 7+)
邏輯&& || ! and or xor布林邏輯
位元& | ^ ~ << >>位級運算
字串.字串串接
陣列+ == === != !==陣列合併/比較
型別instanceof物件型別檢查
三元?:條件表達式
其他@ new clone [] ,錯誤抑制、實例化、陣列構造

三元運算符

<?php
$a = 90; $b = 80;
$c = $a > $b ? 12 : 900;
echo $c; // 12

// PHP 7+ 短三元運算符 (Elvis operator)
$name = $user['name'] ?? 'Guest'; // 等同 isset() ? : 'Guest'
?>

字串運算符

<?php
$a = "hello"; $b = ", world!";
$c = $a . $b; // "hello, world!"

$a = "hello"; $b = 100;
$c = $b . $a; // "100hello" (數字自動轉字串)
?>

型別運算符 instanceof

<?php
class Dog {}
class Cat {}
$a = new Dog;
var_dump($a instanceof Dog); // bool(true)
var_dump($a instanceof Cat); // bool(false)
?>

運算符優先級表(高→低)

優先級運算符結合性
1 (最高)clone new無
2[ (array)左
3++ -- ~ (int) (float) (string) (array) (object) (bool) @右
4instanceof無
5!右
6* / %左
7+ - .左
8<< >>左
9< <= > >= <>無
10== != === !==無
11&左
12^左
13|左
14&&左
15||左
16??左
17? :右
18= += -= *= /= %= .= &= ^= |= <<= >>=右
19and左
20xor左
21 (最低)or左
-,左

關鍵避坑指南

  1. 優先級陷阱:$a = $b = 5 從右向左結合;$a + $b . $c 先算 + 再 .
  2. 邏輯運算符差異:&&/|| 優先級高於 and/or,$a = false || true vs $a = false or true 結果不同
  3. 三元運算符嵌套:PHP 左結合,$a ? $b : $c ? $d : $e 需加括號明確意圖
  4. 使用括號明確優先級:(1 + 5) * 3 = 18 vs 1 + 5 * 3 = 16

熟練掌握優先級表,善用括號消除歧義,是寫出可維護 PHP 代碼的基本功。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved