大家學學習程式語言會接觸到運算符,本文主要和大家分享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中文網其他相關文章!