算術運算子的簡單應用
算術運算子是處理算術運算的符號,在數字的處理中應用的最多,常用的算術運算子如下表

這里要說的是最后兩個遞增/遞減運算子,主要是對單獨一個變數來操作的,
遞增/遞減運算子有兩種使用方法:
第一種:是先將變數增加或者減少1,然后再將值賦給原變數,叫做前置遞增/遞減運算子,
第二種:是將運算子放在變數后面,先回傳變數的當前值,然后再將變數的當前值增加或者減少一,我們稱之為后置遞增/遞減運算子
算術運算子用法實體
下面的例子分別使用上表中的幾種運算子進行計算,代碼如下:
<?php $a=8; $b=2; $c=3; echo $a+$b.'<br/>'; echo $a-$b.'<br/>'; echo $a*$b.'<br/>'; echo $a/$b.'<br/>'; echo $a%$c.'<br/>'; $a++; echo $a.'<br/>'; ++$a; echo $a.'<br/>'; $c--; echo $c;
運行結果如下圖

字串運算子慨念和用法
在PHP中,為我們提供的字串運算子有兩種:
第一種:連接運算子,用“.”表示,他的作用是將兩個字串連接起來,組成一個新的字串,
第二種:賦值連接運算子,用“.=”表示,他是PHP運算子中“字串運算子”和“賦值運算子”的結合,關于賦值連接運算子,
如果使用“+”號時,PHP會認為這是一次運算,這時,如果“+”號的兩邊有字串型別的時候,PHP會自動轉換為整型,其中如果有字母的話,會當作0輸出,如果是以數字開頭的字串,則會截取字串頭部的數字,在進行計算,
實體代碼如下:
<?php $a='1.5a*1'; $b=1; $ab=$a.$b; echo $ab.'<br/>'; $ba=$a+$b; echo $ba;
輸出結果如下:

PHP運算中的賦值運算子

php賦值運算子實體
代碼如下
<?php $a = 20; echo $a.'<br>'; $a = 20; echo $a.'<br>'; $a += 20; echo $a.'<br>'; $a -= 20; echo $a.'<br>'; $a *= 20; echo $a.'<br>'; $a /= 20; echo $a.'<br>'; $a %= 20; echo $a.'<br>';
運行結果:

PHP運算子中的“位運算子”
位運算子是指對二進制位從低位到高位對齊后進行運算,它允許對整型數中指定的位進行求值和操作,
在PHP中的為運算子如下表所示

下面我們用例子來上面一下上表中的運算子
<?php $m=1; $n=2; $mn=$m&$n; echo $mn.'<br>'; $mn=$m^$n; echo $mn.'<br>'; $mn=$m|$n; echo $mn.'<br>';
代碼運行結果:

例子解釋:
$m&$n : 二者都為 1 時為 1 ,否則為 0,即把 $a 和 $b 中都為 1 的位設為 1 ,否則設為 0 ,
00000001 ← $m
& 00000010 ← $b
比較結果為00000000,所以輸出0
$m^$n :在按位亦或的程序中,不同為1,相同為0,
00000001 ← $m
^ 00000010 ← $n
所以結果為00000011,進而輸出3,
$m|$n: 在按位或的程序中,有1為1,全0為0,
00000001 ← $m
| 00000010 ← $n
則結果為00000011,所以輸出3
按位非或按位取反示例,代碼如下
<?php $m=2; $m1=~$m; echo $m1;
運行結果

注:在計算機中,負數以其正值的補碼形式表達,
1: 2的32位原碼為 0000 0000 0000 0000 0000 0000 0000 0010
2: 按位取反后為 1111 1111 1111 1111 1111 1111 1111 1101
由于最前面的數為1,符號位為1,即為負數,所以,以其正值的補碼形式表示為:(符號位不變,按位取反,末尾加1)
1000 0000 0000 0000 0000 0000 0000 0011
所以輸出為-3
左移右移代碼示例
<?php $m=12; $n=3; $mn=$m<<$n; echo $mn.'<br>'; $mn=$m>>$n; echo $mn;
運行結果:

$m<<$n:將 $m 中的位向左移動 $n 次(每一次移動都表示“乘以 2”,即“乘以 2$b ”),
0000 1100 ← $m
<< 0110 0000 左移3個,空出的位置用 0 補充
0110 0000 = 96
$m>>$n:將 $m中的位向右移動 $n 次(每一次移動都表示“除以 2”,即“乘以 2 -$b ”),
0000 1100 ← $m
<< 0000 0001 右移3個,多出的位置截掉
0000 0001 = 1
PHP運算中的邏輯運算子

在這個實體中我們使用邏輯或中的運算子號“||”和“or”進行相同的判斷操作,但是因為“||”和“or”的優先級不同,所以他們回傳的結果也是不相同的,代碼如下
<?php $a=true; $b=true; $c=false; if($a or $b and $c){ echo 'ok'; }else{ echo 'no'; } echo '<br>'; if($a || $b and $c){ echo 'ok'; }else{ echo 'no'; }
代碼運行結果:

可以看到or的優先級低于and,而||的優先級高于and
PHP運算子--”比較運算子“實體講解

這里有兩個需要需要注意的比較運算子,就是“===”和“!==”,用“===”運算子進行比較的話,不僅要在數值上相等,還要在資料型別上一樣,例如,$a===$b,說明$a和$b不僅在數值上完全相等,而且$a和$b的資料型別也是一樣的,!==和===的意義相反,例如$a!==$b,就是說明$a和$b或者數值不等或者資料型別不等,
<?php $x=100; $y='100'; var_dump($x==$y); var_dump($x===$y); var_dump($x!=$y); var_dump($x!==$y);
代碼運行結果:

“錯誤控制運算子”
錯誤控制運算子顧名思義就是用來控制錯誤輸出,這個控制只是將錯誤資訊屏蔽掉,不讓其顯示出來,并不是真正的解決錯誤,
使用的方法很簡單,就是在錯誤的運算式之前加上“@”就可以了,
這里有個需要注意的地方,我們的“@”錯誤控制符不能放在函式或者是類的定義之前,也不可以用在條件結構等方面,“@”控制符是只對運算式有效的,簡單點說就是:如果從一個地方得到了一個值,我們就可以將@放在它的前面,比方說,把@放在變數、常量和函式呼叫的前面,
下面我們看一下錯誤控制運算子的使用實體
當我們打開一個不存在的檔案時,用“@”來屏蔽錯誤資訊的輸出
在不使用“@”時;
<?php $file = fopen('index.php','r');
會有以下的輸出:

但是,但我們使用“@”時,這個錯誤資訊就不會出現,
<?php $file = @fopen('index.php','r');
這樣我們就不會有錯誤資訊輸出了,當然,這個錯誤依然存在,只不過看不到而已,
“三元運算子”實體講解
三元運算子在程式設計經常用的,它又稱為“三目運算子”
本實體運用三元運算子實作一個簡單的選擇功能
<?php $a=100; $b=($a?'ok':'no'); echo $b;
代碼運行結果:

PS:雖說三元運算和 if...else...流程陳述句一樣,但是多數情況下我們只在代碼較為簡單的時候使用三元運算子,
php運算子優先級順序詳解
如果寫的運算式很復雜,而且包含了較多的運行符,不妨多使用括號,想下面這樣:
<?php $a and (($b !=$c) or (5*(50-$d))); ?>
這樣就能減少出現邏輯錯誤的可能
有時使用括號可以增強代碼的可讀性,例如,下面這樣:
<?php $a = 3 * 3 % 5; // (3 * 3) % 5 = 4 //三元運行的結合 $a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2 $a = 1; $b = 2; $a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5 ?>
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/38635.html
標籤:PHP
上一篇:php 微信退款
下一篇:php流程控制陳述句
