php函数前面的@有什么含义

在查看别人代码的时候后,会发现有些函数前面会加上@,那@的作用是什么呢。

@在PHP中用作错误控制操作符,当表达式附加@符号时,将忽略该表达式可能生成的错误消息。

示例如下

$file = file_get_contents('test.text');
var_dump($file);

页面显示

file_get_contents(test.text): failed to open stream: No such file or directory

在函数前加上@后

$file = @file_get_contents('test.text');
var_dump($file);

页面显示

boolean false

编写代码时不建议使用@,因为它不会使错误消失,只是隐藏了错误,如果代码出错,将很难找到错误所在。