PHP 函数和@functions
基本上,我见过人们在函数调用之前使用 @
,不是针对每个函数,而是针对某些扩展函数,例如 file_get_contents()
、mysql_connect( )
等等。
是的,问题是:函数调用之前有这些 @
的目的是什么?
或者换句话说,@file_get_contents()
和 file_get_contents()
之间有什么区别?
Basically, I've seen people using @
before their function calls, not for every function, but for some kind of extension functions like file_get_contents()
, mysql_connect()
and so on.
And yes, the question is: For what purpose are there these @
s before function calls?
Or in other words, what is the difference between @file_get_contents()
and file_get_contents()
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
@ 是一个错误控制运算符。基本上它是抑制错误。
@ is an error control operator. Basically it's suppressing errors.
这是 PHP 的
错误控制运算符
用于抑制函数调用生成的任何错误。It's the PHP's
error control operator
used to suppress any error generated by the function call.函数前面的
@
符号可以防止调用函数时显示错误。The
@
symbol in front of a function prevents errors from being displayed when the function is called.@function 不会在其 HTML 输出中显示任何错误消息,而常规函数调用则会显示任何错误消息。
@function doesn't show any error messages on its HTML output, while a regular function call will.
我对在函数前面使用@也有类似的疑问。
为了避免这种情况,我在函数调用之前做了一些验证。
我的例子是:
<代码>
if ( is_file($文件名) )
$timestamp = filemtime( $filename );
I have similar doubt about @ used in front of functions.
To avoid this I made some verification before the function call.
My example is:
if ( is_file($filename) )
$timestamp = filemtime( $filename );