PHP 運算符

運算符


  1. 運算符優先級
  2. 算術運算符
  3. 賦值運算符
  4. 位運算符
  5. 比較運算符
  6. 錯誤控制運算符
  7. 執行運算符
  8. 遞增/遞減運算符
  9. 邏輯運算符
  10. 字符串運算符
  11. 數組運算符
  12. 類型運算符

運算符優先級(高到低)

結合方向 運算符 附加信息
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); ?>

 

 

 

 

衿華客

php 教程

  1. PHP簡介
  2. PHP安裝
  3. PHP語法
  4. PHP數據類型
  5. PHP變量
  6. PHP運算符
  7. PHP流程控制
  8. PHP函數
  9. PHP類與對象
  10. PHP字符串
  11. PHP正則表達示
  12. PHP文件
  13. PHP圖形圖像
  14. PHPXML
  15. PHP會話緩存
  16. PHP異常處理
  17. PHP數據庫
  18. PHP日期時間戳
  19. PHP代碼風格規範

server 環境

  1. ubuntu入門
  2. docker入門
  3. git入門
  4. iterm入門

frame 框架

  1. laravel入門
  2. dingo入門
  3. JWT入門
  4. Laravel框架關鍵技術解析
  5. laravel則修筆記
  6. rpc入門
  7. rabbitmq入門
  8. opencc多國語言
  9. laravel兄弟連筆記
  10. laravel進階

case 實例

  1. php面試題筆記
  2. python圖標提取
  3. 字幕亂碼問題
  4. 支付寶接口調用
  5. laravel開發筆記

db 數據庫

  1. elasticsearch入門
  2. 數據庫操做
  3. 數據庫設計
  4. redis入門

help

相關文章
相關標籤/搜索