PHP 支持>,>=,<,<=,==,!=;同時支持全等運算符 === (表示值和類型都相同) 非全等運算符 !==(值或者類型不同)
取模運算符%的結果和被除數的符號保持一致。即$a%$b 的值的符號與$a保持一致
- 算術運算符
例子 | 名稱 | 結果 |
---|---|---|
-$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次方。Introduced in PHP 5.6. |
- 位運算符
例子 | 名稱 | 結果 |
---|---|---|
$a & $b |
And(按位與) | 將把 $a 和 $b 中都爲 1 的位設爲 1。 |
$a | $b |
Or(按位或) | 將把 $a 和 $b 中任何一個爲 1 的位設爲 1。 |
$a ^ $b |
Xor(按位異或) | 將把 $a 和 $b 中一個爲 1 另一個爲 0 的位設爲 1。 |
~ $a |
Not(按位取反) | 將 $a 中爲 0 的位設爲 1,反之亦然。 |
$a << $b |
Shift left(左移) | 將 $a 中的位向左移動 $b 次(每一次移動都表示“乘以 2”)。 |
$a >> $b |
Shift right(右移) | 將 $a 中的位向右移動 $b 次(每一次移動都表示“除以 2”)。 |
- 比較運算符
例子 | 名稱 | 結果 |
---|---|---|
$a == $b | 等於 | TRUE ,如果類型轉換後 $a 等於 $b。 |
$a === $b | 全等 | TRUE ,如果 $a 等於 $b,並且它們的類型也相同。 |
$a != $b | 不等 | TRUE ,如果類型轉換後 $a 不等於 $b。 |
$a <> $b | 不等 | TRUE ,如果類型轉換後 $a 不等於 $b。 |
$a !== $b | 不全等 | TRUE ,如果 $a 不等於 $b,或者它們的類型不同。 |
$a < $b | 小與 | TRUE ,如果 $a 嚴格小於 $b。 |
$a > $b | 大於 | TRUE ,如果 $a 嚴格大於 $b。 |
$a <= $b | 小於等於 | TRUE ,如果 $a 小於或者等於 $b。 |
$a >= $b | 大於等於 | TRUE ,如果 $a 大於或者等於 $b。 |
$a <=> $b | 太空船運算符(組合比較符) | 當$a小於、等於、大於$b時 分別返回一個小於、等於、大於0的integer 值。 PHP7開始提供. |
$a ?? $b ?? $c | NULL 合併操作符 | 從左往右第一個存在且不爲 NULL 的操作數。如果都沒有定義且不爲 NULL ,則返回 NULL 。PHP7開始提供。 |
- 錯誤控制運算符
@當將其放置在一個 PHP 表達式之前,該表達式可能產生的任何錯誤信息都被忽略掉。
- 執行運算符
使用反引號運算符“`”的效果與函數 shell_exec() 相同,PHP會嘗試將反引號中的內容作爲shell命令進行執行。但其不能在雙引號字符串中使用。
- 邏輯運算符
例子 | 名稱 | 結果 |
---|---|---|
$a and $b | And(邏輯與) | TRUE ,如果 $a 和 $b 都爲 TRUE 。 |
$a or $b | Or(邏輯或) | TRUE ,如果 $a 或 $b 任一爲 TRUE 。 |
$a xor $b | Xor(邏輯異或) | TRUE ,如果 $a 或 $b 任一爲 TRUE ,但不同時是。 |
! $a | Not(邏輯非) | TRUE ,如果 $a 不爲 TRUE 。 |
$a && $b | And(邏輯與) | TRUE ,如果 $a 和 $b 都爲 TRUE 。 |
$a || $b | Or(邏輯或) | TRUE ,如果 $a 或 $b 任一爲 TRUE 。 |
- 字符串運算符 “.”用於拼接字符串
- 數組運算符
+ 表示將兩個數組進行聯合,如果兩個數組存在鍵值相同的元素,則保留+號左側的鍵值對應的value值
<?php
$a = array("a"=>"apple","b"=>"banana");
$b = array("a"=>"strw","b"=>"appleb","c"=>"cherry");
echo var_dump($a+$b);
//輸出
/*
array(3) {
["a"]=>
string(5) "apple"
["b"]=>
string(6) "banana"
["c"]=>
string(6) "cherry"
}
*/
?>
$a == $b | 相等 | 如果 $a 和 $b 具有相同的鍵/值對則爲 TRUE 。 |
$a === $b | 全等 | 如果 $a 和 $b 具有相同的鍵/值對並且順序和類型都相同則爲 TRUE 。 |
$a != $b | 不等 | 如果 $a 不等於 $b 則爲 TRUE 。 |
$a <> $b | 不等 | 如果 $a 不等於 $b 則爲 TRUE 。 |
$a !== $b | 不全等 | 如果 $a 不全等於 $b 則爲 TRUE 。 |
- 類型運算符:
instanceof 用於確定一個 PHP 變量是否屬於某一類 class 的實例,確定一個變量是否屬於某一個接口的實現。也可以對變量或字符串使用該運算符
<?php
class a{}
class b extends a{}
$a = new b;
var_dump($a instanceof a); //輸出bool(true)
var_dump($a instanceof b); //輸出bool(true)
$c = 'b'
var_dump($a instanceof $c); //輸出bool(true)
?>