在做網(wǎng)站中,PHP運(yùn)算符運(yùn)算符是用來對(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)該被用來根據(jù)一個(gè)表達(dá)式在另兩個(gè)表達(dá)式中選擇一個(gè),而不是用來在兩個(gè)語句或者程序路線中選擇。注意,為了避免誤用,建議把整個(gè)三元表達(dá)式放在擴(kuò)號(hào)里。
算術(shù)運(yùn)算符
算術(shù)運(yùn)算符用來處理四則運(yùn)算的符號(hào),在數(shù)學(xué)計(jì)算中應(yīng)用比較多。常用算術(shù)運(yùn)算符如下表所示。
賦值運(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é)果賦給它。
字符串運(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)算符說明如下表所示:
如果比較一個(gè)整數(shù)和字符串,則字符串會(huì)被轉(zhuǎn)換為整數(shù)。如果比較兩個(gè)數(shù)字字符串,則作為整數(shù)比較。此規(guī)則也適用于switch語句。
<?phpvar_dump(0 == "a"); // 0 == 0 -> truevar_dump("1" == "01"); // 1 == 1 -> truevar_dump("1" == "1e0"); // 1 == 1 -> true?>
邏輯運(yùn)算符
邏輯運(yùn)算符用來組合邏輯運(yùn)算的結(jié)果,是程序設(shè)計(jì)中一組非常重要的運(yùn)算符。PHP的邏輯運(yùn)算符如下表所示:
例如,下面的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)出來。如果避免錯(cuò)誤信息顯示在瀏覽器中,則可以在表達(dá)式前面添加@運(yùn)算符,實(shí)現(xiàn)代碼如下:
<?php$a = @(1 / 0);?>
注意:@運(yùn)算符只對(duì)表達(dá)式有效。對(duì)初學(xué)者來說一個(gè)簡單的規(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)來強(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í)如下表所示。
當(dāng)前文章標(biāo)題:PHP運(yùn)算符
當(dāng)前URL:http://www.margaycoffee.com/news/wzzz/3241.html
上一篇:預(yù)定義變量