大家學學習程式設計語言會接觸到運算子,本文主要和大家分享php運算子集錦,希望能協助到大家。
一、運算子優先順序
遞增/遞減 > ! > 算術運算子 > 大小比較 > (不)相等比較 > 引用 >
位元運算符(^) > 位元運算符(|) > 邏輯與 > 邏輯或 > 三目 > 賦值 > and > xor > or
括弧的使用可以增加代碼可讀性,推薦使用
二、比較子
2.1、== 和 === 的區別
==: 比較值
===:比較值 和 比較類型
2.2、等值判斷(FALSE的七種情況)
0, 0.0, ' ', '0', false, array(), null
2.3、遞增遞減不影響布爾值
2.4、遞減NULL值沒有效果,但是遞增NULL值為1
三、邏輯運算子
3.1、短路作用
$a = true || $b == 3;//$b 不執行
$b = false && $a == 1;//$a 不執行
3.2、||和&& 與 or和and的優先順序不同
&& > || > and > or
$a = false || true; //true
$b = false or true; // false
四、樣本
<?php/** * 下列程式中請寫出列印輸出的結果 * <?php * * $a = 0; * $b = 0; * * if ($a = 3 > 0 || $b = 3 > 0) * { * $a++; * $b++; * echo $a. "\n"; * echo $b. "\n"; * } */$a = 0;$b = 0;if ($a = 3 > 0 || $b = 3 > 0) {/***> 的優先順序大於 || 大於 =*因此可以認為是*$a = ((3 > 0) || $b = 3 > 0)*=> $a = (true || $b = 3 > 0)*由於邏輯或短路作用,b 不再執行*因此:$a = true, b = 0*由於布爾值遞增和遞減都不影響還是true,而列印echo時,true底層轉為1*因此最終echo a 和 b,都是1*/ $a++; $b++; echo $a. "\n"; echo $b. "\n";}
相關推薦:
有關php運算子優先順序的簡單試題
PHP運算子的執行個體講解
詳解php運算子和運算式用法執行個體