PHP運算符類型
什麼是運算符? 簡單來說就是可以使用表達式4 + 5 = 9。此處4和5被稱為操作數,而+被稱為運算符。 PHP語言支持以下類型的運算符。
-
算術運算符
-
比較運算符
-
邏輯(或關係)運算符
-
賦值運算符
-
條件(或三元)運算符
接下來我們對所有的運算符一個一個地來看看.
算術運算符:
有下列由PHP語言支持的算術運算符:
假設變量A=10,變量B=20則:
Operator | 描述 | 例子 |
---|---|---|
+ | 兩個操作數加法 | A + B = 30 |
- | 從第一操作數中減去第二個操作數 | A - B = -10 |
* | 兩個操作數相乘 | A * B = 200 |
/ | 分母除以分子 | B / A = 2 |
% | 模運算符和餘整除法 | B % A = 0 |
++ | 遞增運算符,整數值加一 | A++ = 11 |
-- | 自減運算符,整數值減少一 | A-- = 9 |
比較運算符:
PHP語言支持下列比較運算符
假設變量A=10和變量B=20則:
運算符 | 描述 | 例子 |
---|---|---|
== | 檢查兩個操作數的值相等與否,如果相等則條件為true. | (A == B) 不為 true. |
!= | 如果檢查兩個操作數的值相等與否,如果值不相等,則條件為true. | (A != B) 為 true. |
> | 如果檢查左操作數的值大於右操作數的值,如果是則條件為true. | (A > B) 不為 true. |
< | 如果檢查左操作數的值小於右操作數的值,如果是則條件為true. | (A < B) 為 true. |
>= | 如果檢查左操作數的值大於或等於右操作數的值,如果是則條件為true. | (A >= B) 不為 true. |
<= | 如果檢查左操作數的值小於或等於右操作數的值,如果是則條件為true. | (A <= B) 為 true. |
邏輯運算符:
下列是PHP語言支持的邏輯運算符
假設變量A=10,變量B=20,則:
運算符 | 描述 | 例子 |
---|---|---|
and | 所謂邏輯AND運算符:如果兩個操作數是true,那麼則條件為true. | (A and B) 為 true. |
or | 所謂的邏輯或運算符是:如果任何兩個操作數都是非零那麼條件為true. | (A or B) 為 true. |
&& | 所謂的邏輯AND運算符:如果兩個操作數都是非零那麼條件為true. | (A && B) 為 true. |
|| | 所謂的邏輯或運算符: 如果任何兩個操作數都是非零那麼條件為true. | (A || B) 為 true. |
! | 所謂的邏輯非運算符:使用反轉其操作數的邏輯狀態。如果條件為true,則邏輯NOT運算符為false. | !(A && B) 為 false. |
賦值運算符:
下列是PHP語言支持賦值操作符:
運算符 | 描述 | 例子 |
---|---|---|
= | 簡單賦值運算符,分配從右側操作數的值給左側操作數 | C = A + B 將指定的值 A + B 給 C |
+= | 加和賦值操作符,它增加了右操作數為左操作數和結果分配給左操作數 | C += A 相當於 C = C + A |
-= | 減和賦值操作符,它減去右邊的操作數從左邊的操作數,並將結果賦值給左操作數 | C -= A 相當於 C = C - A |
*= | 乘法和賦值操作符,它乘以右邊的操作數與左操作數和結果分配給左操作數 | C *= A 相當於 C = C * A |
/= | 除和賦值操作符,它除以左操作數與右邊的操作數,並將結果賦值給左操作數 | C /= A 相當於 C = C / A |
%= | 模數和賦值操作符,它采用模使用兩個操作數和結果分配給左操作數 | C %= A 相當於 C = C % A |
條件運算符
還有一個運算符稱為條件運算符。表達式首先計算為true或false值,然後執行取決於計算結果的兩個給定的語句之一。條件運算符有這樣的語法:
運算符 | 描述 | 例子 |
---|---|---|
? : | 條件表達式 | 如果條件為真?然後值X:否則值Y |
運算符分類:
所有在前麵所討論的運算符可分為以下幾類:
-
一元前綴運算符,它前麵一個操作數。
-
二元運算符,它有兩個操作數和執行各種算術和邏輯運算。
-
條件運算符(三元運算符),這需要三個操作數,並計算第二個或者第三個表達式,根據第一個表達式的計算。
-
賦值運算符,它的值賦給一個變量。
PHP運算符的優先級:
運算符優先級決定的條款在表達式中的分組。這會影響一個表達式如何計算。某些運算符的優先級高於其它,例如,乘法運算符的優先級比加法運算較高者:
例如,X=7+3*2;這裡x被賦值13,不是20,因為運算符*的優先級比+所以它首先得到乘以3*2優先級高,然後加7。
這裡具有最高優先級的操作出現在表的頂部,那些與最低的出現在底部。在表達式中,優先級較高的運算符將首先計算。
分類 | 運算符 | 關聯 |
---|---|---|
Unary | ! ++ -- | Right to left |
Multiplicative | * / % | Left to right |
Additive | + - | Left to right |
Relational | < <= > >= | Left to right |
Equality | == != | Left to right |
Logical AND | && | Left to right |
Logical OR | || | Left to right |
Conditional | ?: | Right to left |
Assignment | = += -= *= /= %= | Right to left |