PHP中的運算子(1)_PHP教程

來源:互聯網
上載者:User
運算子優先順序

運算子優先順序指定了兩個運算式綁定得有多“緊密”。例如,運算式 1 + 5 * 3 的結果是 16 而不是 18 是因為乘號(“*”)的優先順序比加號(“+”)高。必要時可以用括弧來強制改變優先順序。例如:(1 + 5) * 3 的值為 18。

下表從低到高列出了運算子的優先順序。

運算子優先順序

結合方向 運算子
,
or
xor
and
print
= += -= *= /= .= %= &= |= ^= ~= <<= >>=
? :
||
&&
|
^
&
== != === !==
< <= > >=
<< >>
+ - .
* / %
! ~ ++ -- (int) (float) (string) (array) (object) @
[
new

注: 儘管 ! 比 = 的優先順序高,PHP 仍舊允許類似如下的運算式:if (!$a = foo()),在此例中 foo() 的輸出被賦給了 $a。

算術運算子

還記得學校裡學到的基本數學知識嗎?就和它們一樣。

算術運算子

例子 名稱 結果
$a + $b 加法 $a 和 $b 的和。
$a - $b 減法 $a 和 $b 的差。
$a * $b 乘法 $a 和 $b 的積。
$a / $b 除法 $a 除以 $b 的商。
$a % $b 模數 $a 除以 $b 的餘數。

除號(“/”)總是返回浮點數,即使兩個運算數是整數(或由字串轉換成的整數)也是這樣。

賦值運算子

基本的賦值運算子是“=”。你一開始可能會以為它是“等於”,其實不是的。它實際上意味著把右邊運算式的值賦給左運算數。

賦值運算運算式的值也就是所賦的值。也就是說,“$a = 3”的值是 3。這樣就可以使你做一些小技巧:

$a = ($b = 4) + 5; // $a is equal to 9 now, and $b has been set to 4. 

在基本賦值運算子之外,還有適合於所有二元算術和字串運算子的“組和運算子”,這可以讓你在一個運算式中使用它的值並把運算式的結果賦給它,例如:

$a = 3;$a += 5; // sets $a to 8, as if we had said: $a = $a + 5;$b = "Hello ";$b .= "There!"; // sets $b to "Hello There!", just like $b = $b . "There!";

注意賦值運算將原變數的值拷貝到新變數中(傳值賦值),所以改變其中一個並不影響另一個。這也適合於你在在緊密迴圈中拷貝一些值例如大數值。PHP 4 支援引用賦值,用 $var = &$othervar; 文法,但在 PHP 3 中不可能這樣做。“引用賦值”意味著兩個變數都指向同一個資料,沒有任何資料的拷貝。

1

http://www.bkjia.com/PHPjc/446731.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/446731.htmlTechArticle運算子優先順序 運算子優先順序指定了兩個運算式綁定得有多“緊密”。例如,運算式 1 + 5 * 3 的結果是 16 而不是 18 是因為乘號(“*”)的優...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.