我看到一些看起来像这样的代码:
if(@$_POST['myvar'])
@符号在这个例子中做了什么?
答案 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']
未设置时发出通知。