« 58. PHP 的字串運算子 (String Operators) 有哪些? | (回到Blog入口) | 60. PHP 的 Ternary Operator »

59. PHP 的指定運算子 (Assignment Operators)

jollen 發表於 October 27, 2006 4:21 PM


"=" 在程式語言裡稱為[[指定運算子]],並不叫做等於,舉個例子:

$a = $a+3;

如果 "=" 為數學上的等於之意,這個式子 $a 等於 $a 加 3 就是錯誤的邏輯,所以應想做「$a+3 的值指定給 $a」,"=" 運算子的運用場合非常多,還可以配合其它運算子的組合,例如:

$a = ($a+$b) & ($a-$b); $b = "OK? "; $c = $c . "OK!"; // 此時 $c 為 "OK? OK!"

指定運算子是由右而左做指定的工作,並考慮 expression 裡的優先序與括弧,例如:

$a = 5; $b = 5;

可寫成:

$a = $b = 5;

先指定 5 給 $b,再把 $b 的值指定給 $a。又如:

$a = ($b = 5) - 1;

先指定 5 給 $b,最後的結果:

$b = 5 $a = 4

另外,$a = $a+b 的指定運算式可簡寫為 $a += $b,其它類似用法的共有:

標準寫法 簡寫式 $a = $a+$b $a += $b $a = $a-$b $a -= $b $a = $a*$b $a *= $b $a = $a/$b $a /= $b $a = $a%$b $a %= $b $a = $a.$b $a .= $b $a = $a&$b $a &= $b $a = $a|$b $a |= $b $a = $a^$b $a ^= $b $a = $a<<$b $a <<= $b $a = $a>>$b $a >>= $b

--jollen

版權聲明

請參閱頁面底部的 CC 授權條款。此外,Jollen's PHP 專欄禁止引用、修改與轉貼,如果您想與朋友分享的話,我們只允許網站連結(hyperlink)的形式。

發表一個評論

(如果你此前從未在此 Blog 上發表過評論,則你的評論必須在 Blog 主人驗證後才能顯示,請你耐心等候。)

| Top | Jollen's Forum |
Jollen's PHP 專欄採用 Attribution-NonCommercial-NoDerivs 2.5 授權條款
Copyright(c) 2001-2007,2010 www.jollen.org