PHP學習之七 錯誤控制運算子

2021-09-05 14:47:27 字數 1005 閱讀 1855

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 等。

參見error_reporting()及手冊中「錯誤處理及日誌函式」的有關章節。

注:錯誤控制字首「@」不會遮蔽解析錯誤的資訊。

警告

目前的「@」錯誤控制運算子字首甚至使導致指令碼終止的嚴重錯誤的錯誤報告也失效。這意味著如果你在某個不存在或型別錯誤的函式呼叫前用了「@」來抑制錯誤資訊,那指令碼會沒有任何跡象顯示原因而死在那裡。

PHP中的錯誤控制運算子

php中提供了乙個錯誤控制運算子 對於一些可能會在執行過程中出錯的表示式時,我們不希望出錯的時候給客戶顯示錯誤資訊,這樣對使用者不友好。於是,可以將 放置在乙個php表示式之前,該表示式可能產生的任何錯誤資訊都被忽略掉 如果啟用了track error 這個玩意在php.ini中設定 特性,表示式所...

陣列運算子 錯誤控制運算子與流程控制

注意 php中陣列元素的順序與下標無關,而是與加入的順序有關 v1 array 1,2,3,4 v2 array 5,6,7,8,9 r1 v1 v2 則 r1的結果為 array 1,2,3,4,9 v1 array 1,2,3,4 v2 array 2,3,1,4 v3 array 1 2,2 ...

php學習之 運算子相關概念

運算符號 php 操作符號 按運算符號功能分為 一 算術運算子 二 字串運算子 連線運算子 三 賦值運算子 四 比較運算子 比較運算子 條件運算子 關係運算子 比較後的結果只有一種 boolean true false 比較時不僅要求內容相同,也要求型別相同 比較時內容不相同,也要求型別不相同 五 ...