I've seen function calls preceded with an at symbol to switch off warnings. Today I was skimming some code and found this:
$hn = @$_POST['hn'];
@ is the error suppression operator in PHP.
PHP supports one error control operator: the at sign (@). When prepended to an expression in PHP, any error messages that might be generated by that expression will be ignored.
In your example, it is used before the variable name to avoid the
E_NOTICE error there. If in the
$_POST array, the
hn key is not set; it will throw an
E_NOTICE message, but
@ is used there to avoid that
Note that you can also put this line on top of your script to avoid an
error_reporting(E_ALL ^ E_NOTICE);
@ operator is very slow, it won't work on
You should avoid using it where you can.