PHP常用運算符優先級表


結合方向

運算符

描述

說明

clone new

clone new

  

  

其他

[ ]

其他

  

  

++ -- () ~ int

float string arrayobjectbool @

類型和遞增、遞減、錯誤抑制

  

!

邏輯運算符

  

  

  • / %

算術運算符

  

  

+ - .

算術運算符和字符串運算符

  

  

<< 左移 >> 右移

位運算符

  

  

== != === !== < > A <>B 不等運算符有兩種寫法

比較運算符

  

  

&

按位與

位運算符和引用

  

  

^

按位異或

位運算符

  

  

|

按位或

位運算符

  

  

&&

邏輯與

邏輯運算符

  

  

||

邏輯或

邏輯運算符

  

  

? :

三元運算符

  

= += -= *= /= .= %= &= |= ^= <<= >>= =>

賦值運算符

  

  

and

(按位與)

邏輯運算符()

$a & $b

將把 $a 和 $b 中都為 1 的位設為 1。

xor

(按位異或)

邏輯運算符(異或)

  

  

or (按位或)

邏輯運算符(或)

  

  

,

  

  

   

   

   

運算符分類:三大類

   

   

單目運算符

   

++--!~位運算(按位非)

   

   

雙目運算符

   

+ - * / % > < ==

   

   

   

三目運算符

? :

   

   

   

   

   

   

容易混淆的運算符口訣:

   

先乘除加減比較邏輯跟着算,非子來了最優先!

   

也就是優先級:!(非) > 數學類 > 比較類 > 邏輯類

   

運算符考慮思想:

   

1優先級2結合方向 3、特例 4BUG 5、不同類型運算間的轉換

   

未明確優先級別的運算符:

   

類型檢查 instanceof 示例: objA instanceof A

   

   

其他說明:

運算符與操作數的各種結合情況異常復雜,特殊的案例結果不可預知,無法完全記憶。為了避免特性及BUG

   

的發生,書寫時要求邏輯清晰,操作數配合運算符要盡量有意義。

   

   

以下的特性或bug注意避免其出現就行,以下是示意代碼

<?php

$a =1 ;

$b = $a + $a +$a=2;

//4=1+1+2

// 結果$b是多少?

?>

   

   

特例中的編程思想:

一個有歧義或多種可能運算中,優先按正常順序嘗試進行,如果不行再改變方案。

   

<?php

$a =1 ;

$b = &$a;

$c = ++ $a + $a ++;

// 結果$c是多少?

?>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM