- PHP+MySQL動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)從入門到精通(視頻教學(xué)版)
- 張工廠
- 1352字
- 2021-01-08 17:30:20
3.7 運(yùn)算符
PHP包含多種類型的運(yùn)算符,常見(jiàn)的有算術(shù)運(yùn)算符、字符串運(yùn)算符、賦值運(yùn)算符、比較運(yùn)算符和邏輯運(yùn)算符等。
3.7.1 算術(shù)運(yùn)算符
算術(shù)運(yùn)算符是最簡(jiǎn)單,也是最常用的運(yùn)算符。常見(jiàn)的算術(shù)運(yùn)算符如表3-1所示。
表3-1 常見(jiàn)的算術(shù)運(yùn)算符

算術(shù)運(yùn)算符的用法如下面的實(shí)例所示。
【例3.16】(實(shí)例文件:ch03\3.16.php)
<? php $a=13; // 定義變量 $b=2; echo $a."+".$b."="; echo $a+$b."<br />"; //使用加法運(yùn)算符 echo $a."-".$b."="; echo $a-$b."<br />"; //使用減法運(yùn)算符 echo $a."*".$b."="; echo $a*$b."<br />"; //使用乘法運(yùn)算符 echo $a."/".$b."="; echo $a/$b."<br />"; //使用除法運(yùn)算符 echo $a."%".$b."="; echo $a%$b."<br />"; //使用求余運(yùn)算符 echo $a."++"."="; echo $a++."<br />"; //使用累加運(yùn)算符 echo $a."--"."="; echo $a--."<br />"; //使用累減運(yùn)算符 ?>
本程序運(yùn)行結(jié)果如圖3-16所示。

圖3-16 程序運(yùn)行結(jié)果
提示
除了數(shù)值可以進(jìn)行自增運(yùn)算外,字符也可以進(jìn)行自增運(yùn)算操作。例如b++,結(jié)果將等于c。
3.7.2 字符串運(yùn)算符
字符串運(yùn)算符是把兩個(gè)字符串連接起來(lái)變成一個(gè)字符串的運(yùn)算符,使用“.”來(lái)完成。如果變量是整型或浮點(diǎn)型,PHP也會(huì)自動(dòng)把它們轉(zhuǎn)換為字符串輸出,如下面的實(shí)例所示。
【例3.17】(實(shí)例文件:ch03\3.17.php)
<? php $a = "把兩個(gè)字符串"; // 定義字符串變量 $b = 10.25; echo $a."連接起來(lái),".$b."天。"; // 把字符串連接后輸出 ?>
本程序運(yùn)行結(jié)果如圖3-17所示。

圖3-17 程序運(yùn)行結(jié)果
3.7.3 賦值運(yùn)算符
賦值運(yùn)算符的作用是把一定的數(shù)據(jù)值加載給特定變量。
賦值運(yùn)算符的具體含義如表3-2所示。
表3-2 賦值運(yùn)算符的含義

例如,$a-=$b等價(jià)于$a=$a-$b,其他賦值運(yùn)算符與之類似。從上表可以看出,賦值運(yùn)算符可以使程序更加簡(jiǎn)練,從而提高執(zhí)行效率。
3.7.4 比較運(yùn)算符
比較運(yùn)算符用來(lái)比較其兩端數(shù)據(jù)值的大小。比較運(yùn)算符的具體含義如表3-3所示。
表3-3 比較運(yùn)算符的含義

其中,“===”和“! ==”需要特別注意一下。$b===$c表示$b和$c不只是數(shù)值上相等,而且兩者的類型也一樣;$b! ==$c表示$b和$c有可能是數(shù)值不等,也可能是類型不同。
【例3.18】(實(shí)例文件:ch03\3.18.php)
<? PHP $value="15"; echo "\$value = \"$value\""; echo "\$value==15: "; var_dump($value==15); //結(jié)果為:bool(true) echo "\$value==ture: "; var_dump($value==false); //結(jié)果為:bool(false) echo "\$value! =null: "; var_dump($value! =null); //結(jié)果為:bool(true) echo "\$value==false: "; var_dump($value==false); //結(jié)果為:bool(false) echo "\$value === 100: "; var_dump($value===100); //結(jié)果為:bool(false) echo "\$value===true: "; var_dump($value===true); //結(jié)果為:bool(false) echo "(10/2.0 ! == 5): "; var_dump(10/2.0 ! ==5); //結(jié)果為:bool(true) ?>
本程序運(yùn)行結(jié)果如圖3-18所示。

圖3-18 程序運(yùn)行結(jié)果
3.7.5 邏輯運(yùn)算符
編程語(yǔ)言最重要的功能之一就是進(jìn)行邏輯判斷和運(yùn)算。邏輯和、邏輯或、邏輯否都是邏輯運(yùn)算符。邏輯運(yùn)算符的含義如表3-4所示。
表3-4 邏輯運(yùn)算的含義

【例3.19】(實(shí)例文件:ch03\3.19.php)
<? php $a = true; $b = false; echo '$a && $b: '; var_dump($a && $b); //使用邏輯與運(yùn)算符,結(jié)果為:false echo '$a || $b: '; var_dump($a || $b); //使用邏輯或運(yùn)算符,結(jié)果為:true echo '! $a: '; var_dump($a && $b); //使用邏輯否運(yùn)算符,結(jié)果為:false ?>
本程序運(yùn)行結(jié)果如圖3-19所示。

圖3-19 程序運(yùn)行結(jié)果
3.7.6 按位運(yùn)算符
按位運(yùn)算符,是把整數(shù)按照“位”的單位來(lái)進(jìn)行處理。按位運(yùn)算符的含義如表3-5所示。
表3-5 按位運(yùn)算符的含義

【例3.20】(實(shí)例文件:ch03\3.20.php)
<? php $a = 7; // 7的二進(jìn)制代碼是 111 $b = 4; // 4的二進(jìn)制代碼是 100 echo '$a & $b = ' . ($a & $b) . '<br/>'; // 運(yùn)算結(jié)果為二進(jìn)制代碼100,即4 echo '$a | $b = ' . ($a | $b) . '<br/>'; // 運(yùn)算結(jié)果為二進(jìn)制代碼111,即7 echo '$a ^ $b = ' . ($a ^ $b) . '<br/>'; // 運(yùn)算結(jié)果為二進(jìn)制代碼011,即3 ?>
本程序運(yùn)行結(jié)果如圖3-20所示。

圖3-20 程序運(yùn)行結(jié)果
3.7.7 否定控制運(yùn)算符
否定控制運(yùn)算符用在“操作數(shù)”之前,用于對(duì)操作數(shù)值進(jìn)行真假的判斷。它包含一個(gè)邏輯否定運(yùn)算符和一個(gè)按位否定運(yùn)算符。否定控制運(yùn)算符的含義如表3-6所示。
表3-6 否定控制運(yùn)算符的含義

3.7.8 錯(cuò)誤控制運(yùn)算符
錯(cuò)誤控制運(yùn)算符用“@”來(lái)表示。在一個(gè)操作數(shù)之前使用,用來(lái)屏蔽錯(cuò)誤信息的生成。
【例3.21】(實(shí)例文件:ch03\3.21.php)
<? php $err = @(20 / 0) ; // 如果不想顯示這個(gè)錯(cuò)誤,在表達(dá)式前加上“@” ?>
本程序運(yùn)行結(jié)果如圖3-21所示。

圖3-21 程序運(yùn)行結(jié)果
3.7.9 三元運(yùn)算符
三元運(yùn)算符作用在三個(gè)操作數(shù)之間。這樣的操作符在PHP中只有一個(gè),即“? :”,語(yǔ)法形式如下:
(expr1)?(expr2):(expr3)
如果expr1成立,則執(zhí)行expr2,否則執(zhí)行expr3。
【例3.22】(實(shí)例文件:ch03\3.22.php)
<? php $a = 5; $b = 6; echo ($a > $b) ? "大于成立" : "大于不成立"; echo "<br/>"; //大于不成立 echo ($a < $b) ? "小于成立" : "小于不成立"; echo "<br/>"; //小于成立 ?>
本程序運(yùn)行結(jié)果如圖3-22所示。

圖3-22 程序運(yùn)行結(jié)果
3.7.10 運(yùn)算符的優(yōu)先級(jí)和結(jié)合規(guī)則
運(yùn)算符的優(yōu)先級(jí)和結(jié)合其實(shí)與正常的數(shù)學(xué)運(yùn)算符的規(guī)則十分相似。
● 加減乘除的先后順序同數(shù)學(xué)運(yùn)算中的完全一致。
● 對(duì)于括號(hào),則先括號(hào)內(nèi)再括號(hào)外。
● 對(duì)于賦值,則由右向左運(yùn)行,即值依次從右邊向左邊的變量進(jìn)行賦值。
- FuelPHP Application Development Blueprints
- 嵌入式軟件系統(tǒng)測(cè)試:基于形式化方法的自動(dòng)化測(cè)試解決方案
- Spring 5.0 By Example
- 微信公眾平臺(tái)與小程序開(kāi)發(fā):從零搭建整套系統(tǒng)
- 架構(gòu)不再難(全5冊(cè))
- UI智能化與前端智能化:工程技術(shù)、實(shí)現(xiàn)方法與編程思想
- Apache Karaf Cookbook
- C語(yǔ)言程序設(shè)計(jì)案例精粹
- The DevOps 2.5 Toolkit
- HTML5權(quán)威指南
- Illustrator CS6設(shè)計(jì)與應(yīng)用任務(wù)教程
- 人工智能算法(卷1):基礎(chǔ)算法
- Mastering VMware Horizon 7(Second Edition)
- 3ds Max 2018從入門到精通
- Getting Started with Web Components