站長資訊網
最全最豐富的資訊網站

@PHP中的運算符(2)

本文講述了PHP運算符的幾個種類:算術運算符,賦值運算符,位運算符,比較運算符,錯誤控制運算符,執行運算符,加一/減一運算符,邏輯運算符,字符串運算符,數組運算符等等。

AD:

位運算符

位運算符允許對整型數中指定的位進行置位。如果左右參數都是字符串,則位運算符將操作這個字符串中的字符。

<?php    echo 12 ^ 9; // Outputs '5'     echo "12" ^ "9"; // Outputs the Backspace character (ascii 8)                      // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8     echo "hallo" ^ "hello"; // Outputs the ascii values #0 #4 #0 #0 #0                            // 'a' ^ 'e' = #4 ?>  
例子 名稱 結果
$a & $b And(按位與) 將在 $a 和 $b 中都為 1 的位設為 1。
$a | $b Or(按位或) 將在 $a 或者 $b 中為 1 的位設為 1。
$a ^ $b Xor(按位異或) 將在 $a 和 $b 中不同的位設為 1。
~ $a Not(按位非) 將 $a 中為 0 的位設為 1,反之亦然。
$a << $b Shift left(左移) 將 $a 中的位向左移動 $b 次(每一次移動都表示“乘以 2”)。
$a >> $b Shift right(右移) 將 $a 中的位向右移動 $b 次(每一次移動都表示“除以 2”)。

比較運算符

比較運算符,如同它們名稱所暗示的,允許你對兩個值進行比較。

例子 名稱 結果
$a == $b 等于 TRUE,如果 $a 等于 $b。
$a === $b 全等 TRUE,如果 $a 等于 $b,并且它們的類型也相同。(PHP 4 only)
$a != $b 不等 TRUE,如果 $a 不等于 $b。
$a <> $b 不等 TRUE,如果 $a 不等于 $b。
$a !== $b 非全等 TRUE,如果 $a 不等于 $b,或者它們的類型不同。(PHP 4 only)
$a < $b 小與 TRUE,如果 $a 嚴格小于 $b。
$a > $b 大于 TRUE,如果 $a 嚴格 $b。
$a <= $b 小于等于 TRUE,如果 $a 小于或者等于 $b。
$a >= $b 大于等于 TRUE,如果 $a 大于或者等于 $b。

另外一個條件運算符是“?:”(或三元)運算符,它和 C 以及很多其它語言的操作一樣。

<?php // Example usage for: Ternary Operator $action = (empty($_POST['action'])) ? 'default' : $_POST['action'];  // The above is identical to this if/else statement if (empty($_POST['action'])) {    $action = 'default'; } else {    $action = $_POST['action']; } ?>   

對于表達式 (expr1) ? (expr2) : (expr3),如果 expr1 的值為 TRUE,則此表達式的值為 expr2,如果 expr1 的值為 FALSE,則此表達式的值為 expr3。

錯誤控制運算符

PHP 支持一個錯誤控制運算符:@。當將其放置在一個 PHP 表達式之前,該表達式可能產生的任何錯誤信息都被忽略掉。

如果激活了 track_errors 特性,表達式所產生的任何錯誤信息都被存放在變量 $php_errormsg 中。此變量在每次出錯時都會被覆蓋,所以如果想用它的話就要盡早檢查。 

<?php /* Intentional file error */ $my_file = @file ('non_existent_file') or    die ("Failed opening file: error was '$php_errormsg'");  // this works for any expression, not just functions: $value = @$cache[$key]; // will not issue a notice if the index $key doesn't exist.  ?>  

注: @ 運算符只對表達式有效。對新手來說一個簡單的規則就是:如果你能從某處得到值,你就能在它前面加上 @ 運算符。例如,你可以把它放在變量,函數和 include() 調用,常量,等等之前。不能把它放在函數或類的定義之前,也不能用于條件結構例如 if 和 foreach 等。

注: 錯誤控制前綴“@”不會屏蔽解析錯誤的信息。

警告

目前的“@”錯誤控制運算符前綴甚至使導致腳本終止的嚴重錯誤的錯誤報告也失效。這意味著如果你在某個不存在或類型錯誤的函數調用前用了“@”來抑制錯誤信息,那腳本會沒有任何跡象顯示原因而死在那里。

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
精品乱码一卡2卡三卡4卡网| 无码人妻精品一区二区| 日韩人妻无码精品一专区| 国产成人久久精品二三区麻豆| 91精品国产成人网在线观看| 亚洲∧v久久久无码精品| 国产精品无码日韩欧| 99re热视频这里只精品| 精品福利一区二区三区精品国产第一国产综合精品 | 在线观看国产精品va| 国产精品av一区二区三区不卡蜜| 国产成人精品日本亚洲网址| 91在线亚洲精品专区| 精品无人区一区二区三区| 少妇精品无码一区二区三区| 亚洲国产精品无码久久久蜜芽| 精品九九人人做人人爱| 国产原创精品视频| 狠狠色丁香婷婷综合精品视频| 人人妻久久人人澡人人爽人人精品| 精品无码久久久久久久动漫| 精品久久久久久久中文字幕| 精品日韩在线视频一区二区三区| 国产精品亚洲αv天堂无码| 国产精品久久久天天影视香蕉 | 久久99久久精品视频| 久久国内精品自在自线软件 | 最新国语自产精品视频在| 精品无码久久久久久国产| MM1313亚洲精品无码久久| 最新69国产成人精品免费视频动漫| 精品国产电影久久九九| 国产精品观看在线亚洲人成网| 国产精品成年片在线观看| 亚洲欧洲中文日韩久久AV乱码| 久久久无码精品亚洲日韩蜜桃| 在线观看国产日韩| jazzjazz国产精品| 精品国产亚洲男女在线线电影 | 欧洲精品99毛片免费高清观看| 99久久免费精品高清特色大片|