首頁  >  文章  >  後端開發  >  php中的操作符

php中的操作符

WBOY
WBOY原創
2016-07-25 08:45:531254瀏覽
}?>

一、算術運算子

  1. (加) $a $b
  2. -(減) $a - $b
  3. *(乘) $a * $b
  4. /(除) $a / $b
  5. %(取餘) $a % $b
複製程式碼

二、字串運算子

  1. .(點)(php中唯一的字串運算子)
複製程式碼

三、賦值運算子
1.簡單賦值運算子

  1. =(等於號)
複製程式碼

2、複合賦值運算子

  1. = $a = $b 等價於$a = $a $b
  2. -= $a -= $b 等價於$a = $a - $b
  3. *= $a *= $b 等價於$a = $a * $b
  4. / $a /= $b 等價於$a = $a / $b
  5. %= $a %= $b 等價於$a = $a % $b
  6. .= $a .= $b 等價於$a = $a . $b
複製代碼

3、前置遞增遞減運算與後置遞增遞減運算

  1. $a $a本身的值沒有變,但是整個表達式的值將變成$a 1
  2. $a $a本身的值改變了,$a先被$a = $a 1,然後再回傳$a 1
  3. $a-- $a本身的值沒有改變,但是整個表達式的值將變成$a - 1
  4. --$a $ a本身的值改變了,$a先被$a = $a - 1,然後再回傳$a 1
複製程式碼

4、引用操作符

  1. &
複製程式碼

引用運算符&可以在關聯賦值中使用。通常,在講一個變數的值賦給另一個變數的時候,先產生元變數的副本,然後再將它保存在記憶體的其他地方。例如:

  1. $a = 5;
  2. $b = $a;
複製程式碼

複製程式碼
    上例中,第一行程式碼是給$a賦值;第二行程式碼是先產生$a的一個副本,然後再將它保存在$b中。如果隨後改變$a的值,$b的值將不會改變。在看下面的例子:
$a = 5;
$b = &$a;$a = 7; // $a and $b are now both 7

複製程式碼
    注意:引用不是一個獨立的第二個指針,而是使用了原變數的指針,即$a和$b都指向了記憶體的相同位址。上例中,第二行就是$b引用的$a,當第三行$a的值改變時,引用過它的$b也跟著改變了。我們可以透過重置來打破這種引用關聯:
unsert($a);

複製程式碼


注意:這個重置只是重置了$a,它不會改變$b(7)的值,unsert($a)只是破壞了$a和值7保存在記憶體中的關聯。可以把unsert($a)理解為對$a的註銷。
四、比較運算子
    比較運算子傳回的是邏輯布林值:true或false。
  1. ==(等於)
  2. ===(恆定等於)
  3. !=(不等於)
  4. !==(不恆定等於)
  5. (不等於)
  6. >(大於)
>==(大於等於)

複製程式碼
    五、邏輯運算子
  1. !(非)
  2. &&(與)
  3. ||(或)
and(與)
or(或)xor(異或) $a xor $b 如果$a或$b為true,則傳回true。如果$a和$b都是true或都是false,則傳回false。

複製程式碼


注意:and和or比&&和||的優先順序低。
六、位元運算子
    位元運算子可以將一個整數變數當作一些列的位元(Bit,位元)來處理。位元操作符不常使用。
  1. &(位元與) $a & $b 將$a和$b的每一位進行「與」操作所得的結果
  2. |(位元或) $a | $b 將$a和$b的每一位進行「或」操作所得的結果
  3. ~(按位非) ~$a 將$a的每一位進行「非」操作所得的結果
^(位元異或) $a ^ $b 將$a和$b的每一位進行「異或」操作所得的結果
>>(右位移) $a >> $b 將$a右移$b位
複製程式碼

七、其他操作符

  1. ,(逗號) 用來分割函數參數或其他列表項,該操作符經常被附帶(非獨立)地使用。
  2. new(初始化類別的實例)
  3. ->(存取類別的成員)
複製程式碼

1、三元運算子?:

  1. condition ? value if true : value if false
複製程式碼


複製程式碼

    複製程式碼
三元運算子可以被看做是 if else 的條件語句的簡寫。
2.錯誤抑制操作符

@(at符號)
  1. 複製程式碼
錯誤抑制運算子@可以在任何表達式前面使用,即任何有值的或可以計算出值的表達式之前,例如:


$a = @(57 / 0);

複製程式碼
  1. 如果上例中並未使用錯誤抑制操作符@,那麼該行程式碼就會拋出除0警告,使用了@,該警告將被抑制,也就是不被拋出。
  2. 如果透過這種方法抑制了一些警告,一點點遇到警告,就需要透過我們事先寫好的處理錯誤的語句來處理。
如果已經啟用了php.ini中的track_errors特性,錯誤訊息將會被保存在全域變數$php_errormsg中。
3.執行操作符

``(一對反向單引號)執行操作符其實是一對操作符,是一對反向單引號。
  1. 複製程式碼
php將試著將反向單引號之間的指令當作伺服器端的指令來執行。表達式的值就是指令的執行結果。例如在unix系統中,可以使用:

$out = `ls -la`;

echo '
 ' . $out . '
';
  1. 複製程式碼
在windows伺服器上,可以使用:

$out = `dir c:`;
echo '

 ' . $out . '
';
複製程式碼
  1. 以上兩種情況都會得到一個目錄列表並且將該列表保存在$out中,然後,再將該列表顯示在瀏覽器中或用其他方法來處理。
  2. 4.陣列操作符
  3. 注意:在下面語法說明中,$a和$b都不是普通標量值,而是數組類型
(聯合) $a $b 回傳一個包含了$a和$b中所有元素的陣列==(等價)$ == $b 如果$a和$b具有相同的鍵值對,則傳回true===(恆等) $a === $b 如果$a和$b具有相同的鍵值對以及相同的順序,則傳回true
!=(非等價) $a != $b 如果$a和$b不是等價的,則回傳true

(非等價) $a $b 如果$a和$b不是等價的,回傳true
!==(非恆等) $ !== $b 如果$a和$b不是恆等的,回傳true

複製程式碼
  1. 5、型別運算子
  2. instanceof(唯一的類型運算元),此操作符在物件導向程式設計中使用。
  3. instanceof操作符允許檢查一個物件是否是特定類別的實例。例如:
class sampleClass();$myObject = new sampleClass();if ($myObject instanceof sampleClass) {
echo '🎜> echo ' myObject is an instance of sampleClass';
複製代碼


php
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn