PHP運算符

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

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

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

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

算術(shù)運算符

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

1ee756e38fde92cd652444d938908553.jpg

賦值運算符

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

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

4184e2d8e0c73803f47427895cacc7d4.jpg

字符串運算符

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

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

位運算符

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

1.jpg

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

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

邏輯運算符

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

2.jpg

例如,下面的foo()函數(shù)不會被調(diào)用,因為它們被運算符“短路”了。

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

錯誤控制運算符

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

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

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

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

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

運算符優(yōu)先級

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

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

3.jpg


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