結合方向 | 運算符 | 附加信息 |
---|---|---|
無 | clone new | |
左 | [ | array() |
右 | ** | 算術運算符 |
右 | ++ -- ~ (int) (float) (string) (array) (object) (bool) @ | 類型和遞增/遞減 |
無 | instanceof | 類型 |
右 | ! | 邏輯運算符 |
左 | * / % | 算術運算符 |
左 | + - . | 算術運算符和字符串運算符 |
左 | << >> | 位運算符 |
無 | < <= > >= | 比較運算符 |
無 | == != === !== <> <=> | 比較運算符 |
左 | & | 位運算符和引用 |
左 | ^ | 位運算符 |
左 | | | 位運算符 |
左 | && | 邏輯運算符 |
左 | || | 邏輯運算符 |
左 | ?? | 比較運算符 |
左 | ? : | ternary |
right | = += -= = *= /= .= %= &= | = ^= <<= >>= |
左 | and | 邏輯運算符 |
左 | xor | 邏輯運算符 |
左 | or | 邏輯運算符 |
例子 | 名稱 | 結果 |
---|---|---|
-$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 的乘方。 |
例子 | 名稱 | 結果 |
---|---|---|
$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小於、等於、大於than $b時 分別返回一個小於、等於、大於0的integer 值。 PHP7開始提供. |
$a ?? $b ?? $c | NULL 合併操做符 | 從左往右第一個存在且不爲 NULL 的操做數。若是都沒有定義且不爲 NULL,則返回 NULL。PHP7開始提供。 |
$a = "one"; $b = "two"; $result = $a == $b ? "true" : "false"; echo $result;
有兩個字符串(string)運算符。php
第一個是鏈接運算符(「.」),它返回其左右參數鏈接後的字符串。python
第二個是鏈接賦值運算符(「.=」),它將右邊參數附加到左邊的參數以後。laravel
<?php $a = "Hello "; $b = $a . "World!"; // now $b contains "Hello World!" $a = "Hello "; $a .= "World!"; // now $a contains "Hello World!" ?>
PHP 支持一個錯誤控制運算符:@。git
$my_file = @file ('non_existent_file') or die ("Failed opening file: error was '$php_errormsg'");
PHP 支持一個執行運算符:反引號(``)。面試
使用反引號運算符「`」的效果與函數 shell_exec() 相同。redis
反引號運算符在激活了安全模式或者關閉了 shell_exec() 時是無效的。docker
<?php $output = `ls -al`; echo "<pre>$output</pre>"; ?>
例子 | 名稱 | 效果 |
---|---|---|
++$a | 前加 | $a 的值加一,而後返回 $a。 |
$a++ | 後加 | 返回 $a,而後將 $a 的值加一。 |
--$a | 前減 | $a 的值減一, 而後返回 $a。 |
$a-- | 後減 | 返回 $a,而後將 $a 的值減一。 |
例子 | 名稱 | 結果 |
---|---|---|
$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。 |
數組運算是對鍵的運算而不是值的運算。shell
例子 | 名稱 | 結果 |
---|---|---|
$a + $b | 聯合 | $a 和 $b 的聯合。 |
$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 MyClass { } class NotMyClass { } $a = new MyClass; var_dump($a instanceof MyClass); var_dump($a instanceof NotMyClass); ?>