有關php運算子的知識大全_php基礎

來源:互聯網
上載者:User
看似簡單的東西,在實際運用中,還是很有意思的

算術運算子
運算子 名稱 結果
$a + $b 加法 $a 和 $b 的和
$a - $b 減法 $a 和 $b 的差
$a * $b 乘法 $a 和 $b 的積
$a / $b 除法 $a 除以 $b 的商
$a % $b 模數 $a 除以 $b 的餘數
遞增/遞減運算子
運算子 名稱 結果
++$a  前加   $a 的值加一,然後進行操作
$a++ 後加   $a 的值先進行操作,後加一
--$a   前減   $a 的值減一,然後進行操作
$a--   後減   $a 的值先進行操作,後減一
執行個體:
複製代碼 代碼如下:

<?php
echo $a=5+”5th”; //輸出:10
echo 10%3; //輸出:1
echo 10+ $a++; //輸出:20
echo 5- --$a; //輸出:-5
?>

比較子
運算子 名稱 結果
$a == $b 等於 TRUE,如果$a等於$b
$a === $b 全等 TRUE,如果$a等於$b,並且它們的類型也相同
$a != $b 不等 TRUE,如果$a不等於$b
$a <> $b 不等 TRUE,如果$a不等於$b
$a !== $b 非全等 TRUE,如果$a不等於$b,或者它們的類型不同
$a < $b 小於 TRUE,如果$a嚴格小於$b
$a > $b 大於 TRUE,如果$a嚴格$b
$a <= $b 小於等於 TRUE,如果 $a 小於或等於$b
$a >= $b 大於等於 TRUE,如果 $a 大於或等於$b
另外一個條件運算子是“ ? : ”(或三元)運算子。
執行個體:
複製代碼 代碼如下:

<?php
var_dump(0=="a"); //輸出:bool(true)
var_dump(0=="00"); //輸出:bool(true)
var_dump(0==="00"); //輸出:bool(false)
var_dump(0<>"abc"); //輸出:bool(false)
var_dump(0!=="01"); //輸出:bool(true)
$a=10;
$b=20;
$str=$a>$b? "true":"false";
echo $str; //輸出:false
?>

邏輯運算子
運算子 名稱 結果
$a and $b 邏輯與 TRUE,如果 $a 與 $b 都為 TRUE。
$a or $b 邏輯或 TRUE,如果 $a 或 $b 任一為TRUE。
$a xor $b 異或 TRUE,如果 $a 和 $b 不同時
! $a 邏輯非 TRUE,如果 $a 不為 TRUE。
$a && $b 邏輯與 TRUE,如果 $a 與 $b 都為TRUE。
$a || $b 邏輯或 TRUE,如果 $a 或 $b 任一為TRUE。
其中and與&& 、or與||是同一邏輯運算子的兩種寫法。
邏輯與和邏輯或 都是短路運算子。在遇到下列邏輯運算式時,PHP解釋程式將不會計算右邊的運算式: 
複製代碼 代碼如下:

<?php
$a=10;
if(false && (++$a));
echo $a; //輸出:10
$b=10;
if(true or (++$b));
echo $b; //輸出:10
?>

位元運算符
位元運算符允許對整型數中指定的位進行置位。如果左右參數都是字串,則位元運算符將操作字元的 ASCII 值。
運算式 名稱 結果
$a & $b 按位與 將把 $a 和 $b 中都為 1 的位設為 1。
$a | $b 按位或 將把 $a 或者 $b 中為 1 的位設為 1。
$a ^ $b 按位異或 將把 $a 和 $b 中不同的位設為 1。
~ $a 按位非 將 $a 中為 0 的位設為 1,反之亦然。
$a << $b 左移 將 $a 中的位向左移動 $b 次(每一次 移動都表示“乘以 2”)。
$a >> $b 右移 將 $a 中的位向右移動 $b 次(每一次 移動都表示“除以 2”)。
其他運算子
字串運算子
有兩個字串運算子。第一個是串連運算子(“.”),它返回其左右參數串連後的字串。第二個是串連賦值運算子(“.=”),它將右邊參數附加到左邊的參數後。
錯誤抑制操作符
在最常見的資料庫連接與檔案建立操作或出現除0等異常時,可以用@符號來抑制函數錯誤資訊輸出到瀏覽器端 $a=@(5/0)
外部命令執行
使用``來運行外部系統命令,注意不是單引號,是ESC下面那個按鍵
複製代碼 代碼如下:

<?php
$out=`dir c:`;
print_r($out);
?>//不建議使用

執行個體: 
複製代碼 代碼如下:

<?php
$a="hello";
$a.=" world! "; //等同於:$a=$a." world!";
echo $a; //輸出:hello world!
$m = 3;
$m += 5; //等同於:$m=$m+5;
echo $m; //輸出:8
$c = ($b = 4) + 5;
echo $c; //輸出:9
?>

運算子優先順序
下表從低到高列出了運算子的優先順序。
結合方向 運算子
左 ,
左 or
左 xor
左 and
右 print
右 = += -= *= /= .= %= &= |= ^= ~= <<= >>=
左 ? :
左 ||
左 &&
結合方向 運算子
左 |
左 ^
左 &
無 == != === !==
無 < <= > >=
左 << >>
左 + - .
左 * / %
右 ! ~ ++ -- (int) (float) (string) (array) (object) @
右 [
無 new
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.