PHP運算子考察點

2022-07-25 07:33:06 字數 1984 閱讀 3380

php支援乙個錯誤的運算子:@  ;當將其放置在乙個php表示式之前,該表示式可能產生的任何錯誤資訊都被忽略掉

常用的運算子優先順序如下:

遞增/遞減 > ! > 算術運算子 > 大小比較 > (不)相等比較 > 引用 > 位運算子(^) > 位運算子(|) > 邏輯與 > 邏輯或 > 三目 > 賦值 > and > xor > or

常考的運算子優先順序如下:

遞增/遞減 > 算術運算子 > 大小比較 > 邏輯與 > 邏輯或 > 三目 > 賦值 >

運算子優先順序

結合方向

運算子附加資訊

無clone new

clone 和 new右**

算術運算子右++

--~(int)

(float)

(string)

(array)

(object)

(bool)

@型別、遞增/遞減、錯誤控制

無instanceof型別右

!邏輯運算子左*

/%算術運算子左+

-.算術運算子 和 字串運算子

左<<

>>

位運算子

無<

<=

>

>=

比較運算子無==

!====

!==<>

<=>

比較運算子左&

位運算子 和 引用左^

位運算子左|

位運算子左&&

邏輯運算子左||

邏輯運算子右??

null 合併運算子

左? :

三元運算子右=

+=-=

*=**=

/=.=

%=&=

|=^=

<<=

>>=

賦值運算子

右yield from

yield from

右yield

yield

左and

邏輯運算子

左xor

邏輯運算子左or

邏輯運算子

== 和 ===的區別:

==:比較值是否相等;

===:比較值與型別是否都相等;

注意false的七種情況,都是等值的
整型 0

; 浮點

0.0; 空字串 『』; 零字串 『

0』; 布林型

false

; 空陣列 array(); null

短路作用

$a = true || $b == 3;// || 後面的表示式被短路,不會執行

$a = false && $b == 3;// && 後面的表示式被短路,不會執行

||、&& 和 or、and 的優先順序是不一樣的

$a = false || true; //"||"優先順序大於"=",$a 的值是 true

$a = false or true; // "or"優先順序小於"=",$a 的值是 false

示例

<?php

$a = 0

;$b = 0

;if ($a = 3 > 0 || $b = 3 > 0

) /*

* * if裡面有 = > || 三個運算子,根據運算子優先順序, ">" > "||" > "="

* 所以首先執行的是 3 > 0 ,然後執行 || ,3>0 為true,則|| 後面被短路 ,不被執行

* 所以$a = true ,$b = 0

* 進入if之後,$a++ ,$a還是true,$b++ ,$b = 1

* 因此最後的結果是 1 1(echo true,列印的是1)

*/

PHP運算子考察點

運算子優先順序指定了兩個表示式繫結得有多 緊密 例如,表示式1 5 3的結果是 16 而不是 18 是因為乘號 的優先順序比加號 高。必要時可以用括號來強制改變優先順序。例如 1 5 3的值為18。如果運算子優先順序相同,那運算子的結合方向決定了該如何運算。例如,是左聯的,那麼1 2 3就等同於 1...

php運算子取整 PHP 運算子

數學計算 1.使用 abs 函式設定數值的絕對值。輸出 5 echo abs 5 2.使用 ceil 函式進製取整。輸出 6 echo ceil 5.8 echo ceil 5.1 3.使用 floor 函式截斷取整。輸出 5 echo floor 5.8 echo floor 5.1 4.使用 r...

PHP基礎 運算子 算術運算子 位運算子

1 將強制轉換為數字作加法運算 例 a 33 b 45.0 echo a b a b gettype a b 2 將強制轉換為數字作減法運算 例 a 33 b 45 echo a b a b gettype a b a 33.70 b 45.00 echo a b a b gettype a b 3...