首頁  >  文章  >  後端開發  >  php運算符集錦

php運算符集錦

小云云
小云云原創
2018-03-01 10:18:111583瀏覽

大家學學習程式語言會接觸到運算符,本文主要和大家分享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運算子與表達式用法實例

以上是php運算符集錦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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