2010-03-28 62 views

回答

9

它可以抑制表達式可能顯示的錯誤。

你可以閱讀更多關於它here

例子:

file_get_contents('file_does_not_exist'); //this shows an error 

@file_get_contents('file_does_not_exist'); //this does not 
+0

我用這個很多與mysql函數調用。 – 2010-03-28 02:49:12

+0

謝謝,那麼這是好還是不好的做法? – brett 2010-03-28 02:54:07

+0

這通常不是一個好主意。相反,你應該使用像'is_writable'這樣的函數來測試一個文件是否可寫。 – 2010-03-28 02:55:53

5

其PHP的差錯控制字符。

PHP支持一個錯誤控制運算符:at符號(@)。當預先考慮PHP中的表達式時,可能由該表達式生成的任何錯誤消息將被忽略

更多here

1

使用@總是不好的做法。如果發生錯誤消息,它將抑制錯誤消息,而錯誤消息對程序員非常有用,並且抑制它是自殺。 PHP的命運大部分不會被程序員使用,而是被那些毫無頭緒的臨時用戶所使用。你已經從後一種類中獲得了這個代碼。所以,最好擺脫所有@,所以,你將能夠看到發生了什麼並糾正了一個錯誤。
請注意,每條錯誤消息都有其特殊含義並解釋了問題所在。 例如,可能存在文件系統權限問題或PHP OPEN_BASEDIR設置,以防止文件打開。所以,一個錯誤信息會告訴你該怎麼做。錯誤消息很好,@是邪惡的。