在PHP中使用变量前面的@符号做什么

时间:2010-09-29 16:40:54

标签: php

我看到一些看起来像这样的代码:

if(@$_POST['myvar'])

@符号在这个例子中做了什么?

2 个答案:

答案 0 :(得分:6)

禁止打印任何警告/通知/错误。例如,如果我们未定义$_POST['myvar'],PHP可能会输出Undefined index通知。 @阻止了这种行为。

话虽如此,任意压制警告被认为是不好的做法。相反,您可以检查使用if (isset($_POST['myvar']) && $_POST['myvar'])

设置的变量

http://www.php.net/manual/en/language.operators.errorcontrol.php

答案 1 :(得分:4)

它会抑制由您预先添加的表达式引起的所有错误消息,警告或通知。在这种情况下:if(@$_POST['myvar'])可能正在使用它,因为原始作者不希望在$_POST['myvar']未设置时发出通知。