开发者

What does the @ sign do when preceding a variable in PHP

I see some code th开发者_如何学编程at looks like this:

if(@$_POST['myvar'])

What does the @ sign do in this instance?


It suppresses any warnings/notices/errors from being printed. For instance, if $_POST['myvar'] we're undefined, PHP may output an Undefined index notice. The @ prevents that behavior.

That being said, it is considered bad practice to arbitrarily suppress warnings. You can, instead, check for the variable being set with if (isset($_POST['myvar']) && $_POST['myvar'])

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


It suppresses any and all error messages, warnings, or notifications caused by the expression you've prepended it to. In this case: if(@$_POST['myvar']) it is probably being used because the original author did not want a notification to be emitted if $_POST['myvar'] is unset.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜