三元運算子和其它運算子
此外還有一些特殊的運算子和符號,我們再來進行講解。可能以後我們需要用到。
符號 | 說明 |
---|---|
$x? 真程式碼片段:假程式碼段落 | 判斷是否為真假? 真情況: 假情況; |
#``(反引號) | 反引號中間插代指令,執行系統指令,等價於shell_exec函數 |
@ | #單行抑制錯誤,把這一行的錯誤不讓它顯示出來了,效率低不建議使用 |
=> | 數組下標訪問符 |
-> | #物件存取符 |
instanceof | 判斷某個物件是否來自某個類,如果是的回傳true,如果不是回傳false |
三元運算符,相當於是if...else結構。不過三元運算子的寫法更簡潔,語法格式如下:
$x? 真程式碼片段(只能寫一句程式碼):假程式碼片段(只能寫一句程式碼) ;
程式碼如下:
<?php $x = true; $x ? $y = 5 : $y = 6; //输出5 echo $y; ?>
反引號就更特別了,我們常常需要顯示IP位址,在PHP裡面可不可能顯示我們windows的IP位址呢?用反引號,就可以執行我們的指令(不過有些虛擬伺服器是禁止執行這些的指令腳本的):
<?php echo '<pre>'; echo `ipconfig`; echo '</pre>'; ?>
上面的程式碼你執行看看效果,是不是顯示出來了你機器的IP位址和一堆和IP相關的參數?
@符是指單行抑制錯誤,以後的章節我們還會講解到。此處為了解等級。
<?php //打开一个不存在的文件adfsafasdfasfasdfdsadf.txt,你运行一下会发现报错了。 //再前面再加上一个@符看看效果 $fp = fopen('adfsafasdfasfasdfdsadf.txt','r'); //@$fp = fopen('adfsafasdfasfasdfdsadf.txt','r'); ?>
數組下標訪問符,以後也會有一章講解,此處了解一下就可以了:
<?php $data = array('sina' =>'新浪' ,'sohu' => '搜狐'); ?>
對象訪問符->和instanceof 都是了解級別,以後也有專門的章節來講解:
<?php //实例化一个对象 $obj = new StdClass(); //判断某对象是某由某个类实例化,如果是的则执行真 if($obj instanceof stdClass){ echo '真'; }else{ echo '假'; } //向obj对象中追加一个成员属性为username $obj -> username = 'PHP中文网'; echo $obj -> username; ?>
上面的所有例子中,除了三元運算子、@符號、反引號外。其他的學習等級均為了解,以後講解的時候。知道有這個符號即可。