@ 字符在函数调用之前

PHP 中这两个函数调用之间的区别是什么?

init_get($somevariable);


@init_get($somevariable);
65114 次浏览

它消除了错误和警告,请参见 错误控制操作符

Http://www.faqts.com/knowledge_base/view.phtml/aid/18068/fid/38

所有 PHP 表达式都可以使用“@”前缀调用,该前缀关闭 特定表达式的错误报告。

“@”将消除函数可能引发的任何 PHP 错误。

正如已经回答的,@将停止显示错误(如果有的话)。
就性能而言,不建议这样做。

Php 正在做的是:

  • 读取错误显示状态
  • 将错误显示设置为不显示错误
  • 运行你的功能
  • 将错误显示设置为以前的状态

如果您不希望显示任何错误,请使用 error_reporting(0);

或者直接编写没有 bug 的代码: P

正如大家所说的,它会停止该特定函数的错误输出。但是,这会大大降低性能,因为它必须两次更改错误显示设置。我建议不要忽略警告或错误,而是修复代码。