PHP運(yùn)算符

做網(wǎng)站中,PHP運(yùn)算符運(yùn)算符是用來(lái)對(duì)變量、常量和數(shù)據(jù)進(jìn)行計(jì)算的符號(hào),它可以通過一或多個(gè)值(即表達(dá)式)產(chǎn)生另一個(gè)值(即整個(gè)結(jié)構(gòu)為一個(gè)表達(dá)式)。因此,用戶可以理解任何會(huì)返回一個(gè)值的結(jié)構(gòu)都是運(yùn)算符,而那些沒有返回值的就不是運(yùn)算符,如函數(shù)可以視為一個(gè)運(yùn)算符,而echo命令就不是一個(gè)運(yùn)算符。PHP提供了3種類型的運(yùn)算符。   

?一元運(yùn)算符:只運(yùn)算一個(gè)值,如!(取反運(yùn)算符)或++(遞加運(yùn)算符)。   

?有限二元運(yùn)算符:PHP支持的大多數(shù)運(yùn)算符都是這種。   

?三元運(yùn)算符:?:。它應(yīng)該被用來(lái)根據(jù)一個(gè)表達(dá)式在另兩個(gè)表達(dá)式中選擇一個(gè),而不是用來(lái)在兩個(gè)語(yǔ)句或者程序路線中選擇。注意,為了避免誤用,建議把整個(gè)三元表達(dá)式放在擴(kuò)號(hào)里。

算術(shù)運(yùn)算符

算術(shù)運(yùn)算符用來(lái)處理四則運(yùn)算的符號(hào),在數(shù)學(xué)計(jì)算中應(yīng)用比較多。常用算術(shù)運(yùn)算符如下表所示。

1ee756e38fde92cd652444d938908553.jpg

賦值運(yùn)算符

基本的賦值運(yùn)算符是=。一般用戶會(huì)把=符號(hào)誤解為“等于”,其實(shí)不是的。它實(shí)際上意味著把右邊表達(dá)式的值賦給左邊的運(yùn)算數(shù)。賦值運(yùn)算表達(dá)式的值也就是所賦的值。也就是說,“$a = 3”的值是3。這樣就可以做一些小技巧,如:<?php$a = ($b = 4) + 5;?>在上面示例中,變量$a的值為9,而變量$b的值就成了4。

在基本賦值運(yùn)算符之外,還有適合于所有二元算術(shù)、數(shù)組集合和字符串運(yùn)算符的組合運(yùn)算符(如下表所示),這樣可以在一個(gè)表達(dá)式中使用它的值并把表達(dá)式的結(jié)果賦給它。

4184e2d8e0c73803f47427895cacc7d4.jpg

字符串運(yùn)算符

有兩個(gè)字符串運(yùn)算符。一個(gè)是連接運(yùn)算符(.),它返回其左右參數(shù)連接后的字符串。另一個(gè)是連接賦值運(yùn)算符(.=),它將右邊參數(shù)附加到左邊的參數(shù)后。

如:<?php$a = "Hello ";$b = $a . "World!";  //$b ="Hello World!"$a = "Hello ";$a .= "World!";     //$a = "Hello World!"?>

位運(yùn)算符

位運(yùn)算符允許對(duì)整型數(shù)中指定的位進(jìn)行求值和操作。如果左右參數(shù)都是字符串,則位運(yùn)算符將操作字符的ASCII值。在PHP中位運(yùn)算符說明如下表所示:

1.jpg

如果比較一個(gè)整數(shù)和字符串,則字符串會(huì)被轉(zhuǎn)換為整數(shù)。如果比較兩個(gè)數(shù)字字符串,則作為整數(shù)比較。此規(guī)則也適用于switch語(yǔ)句。

<?phpvar_dump(0 == "a");         // 0 == 0 -> truevar_dump("1" == "01");      // 1 == 1 -> truevar_dump("1" == "1e0");     // 1 == 1 -> true?>

邏輯運(yùn)算符

邏輯運(yùn)算符用來(lái)組合邏輯運(yùn)算的結(jié)果,是程序設(shè)計(jì)中一組非常重要的運(yùn)算符。PHP的邏輯運(yùn)算符如下表所示:

2.jpg

例如,下面的foo()函數(shù)不會(huì)被調(diào)用,因?yàn)樗鼈儽贿\(yùn)算符“短路”了。

<?php$a = (false && foo());$b = (true ||foo());$c = (false and foo());$d = (true or foo());?>

錯(cuò)誤控制運(yùn)算符

PHP支持錯(cuò)誤控制運(yùn)算符:@。當(dāng)將其放置在一個(gè)PHP表達(dá)式之前,該表達(dá)式可能產(chǎn)生的任何錯(cuò)誤信息都被忽略。如果激活track-errors特性,表達(dá)式所產(chǎn)生的任何錯(cuò)誤信息都被存放在變量$php- errormsg中。此變量在每次出錯(cuò)時(shí)都會(huì)被覆蓋,所以如果想用它的話就要盡早檢查。

如:<?php$a = 1 / 0;?>

運(yùn)行上面代碼,則會(huì)產(chǎn)生一個(gè)異常,并在瀏覽器中呈現(xiàn)出來(lái)。如果避免錯(cuò)誤信息顯示在瀏覽器中,則可以在表達(dá)式前面添加@運(yùn)算符,實(shí)現(xiàn)代碼如下:

<?php$a = @(1 / 0);?>

注意:@運(yùn)算符只對(duì)表達(dá)式有效。對(duì)初學(xué)者來(lái)說一個(gè)簡(jiǎn)單的規(guī)則就是:如果能從某處得到值,就能在它前面加上@運(yùn)算符。例如,可以把它放在變量、函數(shù)和include()調(diào)用、常量等之前。不能把它放在函數(shù)或類的定義之前,也不能用于條件結(jié)構(gòu)前。

運(yùn)算符優(yōu)先級(jí)

運(yùn)算符優(yōu)先級(jí)指定了兩個(gè)表達(dá)式綁定得有多緊密。例如,表達(dá)式1 + 5 * 3的結(jié)果是16,而不是18,因?yàn)槌颂?hào)的優(yōu)先級(jí)比加號(hào)高。不過可以使用括號(hào)來(lái)強(qiáng)制改變優(yōu)先級(jí)。例如,(1 + 5) * 3的值為18。如果運(yùn)算符優(yōu)先級(jí)相同,則使用從左到右的左聯(lián)順序。

PHP的運(yùn)算符在運(yùn)算中遵循的規(guī)則是:優(yōu)先級(jí)高的運(yùn)算先執(zhí)行,優(yōu)先級(jí)低的操作后執(zhí)行,同一優(yōu)先級(jí)的操作按照從左到右的順序進(jìn)行。PHP運(yùn)算符優(yōu)先級(jí)如下表所示。

3.jpg


網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷咨詢專線:0871-63535511(點(diǎn)擊可一鍵撥號(hào))