PHP基礎語法之運算子

2021-09-24 10:48:28 字數 1909 閱讀 9932

定義: 系統自定義的特殊符號  php直譯器在遇到這種符號時 按照預定的方式實現運算  滿足儲存的要求以及滿足給使用者顯示的狀態

//賦值運算子  比較簡單  = += -= *= /=

$b = 10;

echo $b+=1; //相當於$a =$a+1;

echo $b-=1; //相當於$a=$a-1;(注意被減數與減數的位置)

echo $b*=2; //相當於$a=$a*2;

$b/=2; //相當於$a=$a/2;由於除數不能為0 所以/=的右邊表示式不能為0

echo $b;

//普通運算子 + - * / 加減乘除 %取餘 取餘數

echo $c = 5%2; //$c=1:

//錯誤抑制符 @

$d=4;

$str4 = "3.2a1";

echo @($d+$str4);

echo "

"; /*如果沒有@錯誤抑制符 在瀏覽器會跳出一行 notice提示這種低階錯誤

錯誤抑制符是一種**保護機制 主要是為了不讓客戶看到這些錯誤*/

//比較運算子 > < >= <= == === 大於 小於 等於 等比較運算子是雙目運算子 通過比較返回boolean值

//比較特殊的是 == === ==只是比較值是否相等 ===還會比較是否為同一資料型別

$e =10;

$str5="10a";

var_dump($e==$str5);//bool(true) 由於弱語言特性 ==比較運算子會先自動轉換型別 然後在進行比較

var_dump($e===$str5);//bool(false) 資料型別不同

var_dump((boolean)-1);//(boolean)-1; php數值轉boolean 只有0這乙個情況 會轉換成false

//飛船運算子 <=> 集大於小於等於一身 以左邊為主體 左邊大於右邊 1 反之 -1 等於0

$f = 5;

$g = 6;

echo $f<=>$g; //-1

//合併運算子 ?? 類似與三目運算子 @a =表示式一 ?? 表示式二 判斷表示式一是否存在 存在$a的值就為表示式一

$h = $g ?? $f;

echo $h; //6 $g存在 $h=6; 當表示式一存在時 就不再執行表示式二 是一種短路運算

//需要注意的是 合併運算的判斷方法是表示式一是否存在 而不是 是否為true

上邊分別描述了 賦值運算子  普通運算子 錯誤抑制符 比較運算子  飛船運算子 合併運算子的使用方法 和 注意事項除了這些運算子 還有自增自減運算子 連線運算子 邏輯運算 三目運算子等

自增 ++ 前置 先自我運算然後將自身的結果給其他運算 後置與前置相反 先講數值給其他運算 在自我運算 

<?php

$a =10;

echo ++$a; //11

echo $a; //11

echo $a++; //11

echo $a; //12

//只有與其他函式或者運算有關係時 前置與後置才會有區別 當自增或自減獨自一行時 二者沒有區別

?>

自減與自增類似 

連線運算子  .  用於php中字串的運算  無論什麼資料型別的資料使用了「  . " 運算子 都會被當作字串型別處理

<?php

$a=10;

$b=203;

var_dump($a.$b);//輸出為string(5) "10203"

?>

三目運算子和和合併運算子類似  表示式一?表示式二:表示式三;  判斷表示式一是否存在 如果存在則執行表示式二 否則執行表示式三 相交於合併運算子比較麻煩 

PHP基礎之運算子

在php中變數的值可以隨便改動,而且型別也可以改,可重新賦值,例如 同乙個變數可以是 整型也可以是浮點型,因此為動態語言。取模運算 運算的正負結果取決於被除數的符號 運算子 全等於 不僅值相等,連變數型別也相等 不全等於 等於 不等於當進行 符號運算時,會轉換成相同型別轉換 布林值 字串 ture ...

PHP基礎 運算子 算術運算子 位運算子

1 將強制轉換為數字作加法運算 例 a 33 b 45.0 echo a b a b gettype a b 2 將強制轉換為數字作減法運算 例 a 33 b 45 echo a b a b gettype a b a 33.70 b 45.00 echo a b a b gettype a b 3...

Golang基礎語法 運算子

表示式 a b c a,b,c叫做運算元 叫做運算子 求餘 運算子 描述 所謂邏輯與運算子。如果兩個運算元都非零,則條件變為真 所謂的邏輯或操作。如果任何兩個運算元是非零,則條件變為真 所謂邏輯非運算子。使用反轉運算元的邏輯狀態。如果條件為真,那麼邏輯非操後結果為假ab a ba b a b000 ...