PHP基礎(chǔ)語(yǔ)法之 三元運(yùn)算子及其它運(yùn)算符
三元運(yùn)算子和其它運(yùn)算子
此外還有一些特殊的運(yùn)算子和符號(hào),我們?cè)賮?lái)進(jìn)行講解??赡芤葬嵛覀冃枰玫健?
符號(hào) | 說(shuō)明 |
---|---|
$x? 真程式碼片段:假程式碼段落 | 判斷是否為真假? 真情況: 假情況; |
#``(反引號(hào)) | 反引號(hào)中間插代指令,執(zhí)行系統(tǒng)指令,等價(jià)於shell_exec函數(shù) |
@ | #單行抑制錯(cuò)誤,把這一行的錯(cuò)誤不讓它顯示出來(lái)了,效率低不建議使用 |
=> | 數(shù)組下標(biāo)訪(fǎng)問(wèn)符 |
-> | #物件存取符 |
instanceof | 判斷某個(gè)物件是否來(lái)自某個(gè)類(lèi),如果是的回傳true,如果不是回傳false |
三元運(yùn)算符,相當(dāng)於是if...else結(jié)構(gòu)。不過(guò)三元運(yùn)算子的寫(xiě)法更簡(jiǎn)潔,語(yǔ)法格式如下:
$x? 真程式碼片段(只能寫(xiě)一句程式碼):假程式碼片段(只能寫(xiě)一句程式碼) ;
程式碼如下:
<?php $x = true; $x ? $y = 5 : $y = 6; //輸出5 echo $y; ?>
反引號(hào)就更特別了,我們常常需要顯示IP位址,在PHP裡面可不可能顯示我們windows的IP位址呢?用反引號(hào),就可以執(zhí)行我們的指令(不過(guò)有些虛擬伺服器是禁止執(zhí)行這些的指令腳本的):
<?php echo '<pre>'; echo `ipconfig`; echo '</pre>'; ?>
上面的程式碼你執(zhí)行看看效果,是不是顯示出來(lái)了你機(jī)器的IP位址和一堆和IP相關(guān)的參數(shù)?
@符是指單行抑制錯(cuò)誤,以後的章節(jié)我們還會(huì)講解到。此處為了解等級(jí)。
<?php //打開(kāi)一個(gè)不存在的文件adfsafasdfasfasdfdsadf.txt,你運(yùn)行一下會(huì)發(fā)現(xiàn)報(bào)錯(cuò)了。 //再前面再加上一個(gè)@符看看效果 $fp = fopen('adfsafasdfasfasdfdsadf.txt','r'); //@$fp = fopen('adfsafasdfasfasdfdsadf.txt','r'); ?>
數(shù)組下標(biāo)訪(fǎng)問(wèn)符,以後也會(huì)有一章講解,此處了解一下就可以了:
<?php $data = array('sina' =>'新浪' ,'sohu' => '搜狐'); ?>
對(duì)象訪(fǎng)問(wèn)符->和instanceof 都是了解級(jí)別,以後也有專(zhuān)門(mén)的章節(jié)來(lái)講解:
<?php //實(shí)例化一個(gè)對(duì)象 $obj = new StdClass(); //判斷某對(duì)象是某由某個(gè)類(lèi)實(shí)例化,如果是的則執(zhí)行真 if($obj instanceof stdClass){ echo '真'; }else{ echo '假'; } //向obj對(duì)象中追加一個(gè)成員屬性為username $obj -> username = 'PHP中文網(wǎng)'; echo $obj -> username; ?>
上面的所有例子中,除了三元運(yùn)算子、@符號(hào)、反引號(hào)外。其他的學(xué)習(xí)等級(jí)均為了解,以後講解的時(shí)候。知道有這個(gè)符號(hào)即可。