Maj*_*our 51 php error-handling operators
我已经看到函数调用前面有一个at符号来关闭警告.今天我在浏览一些代码,发现了这个:
$hn = @$_POST['hn'];
Run Code Online (Sandbox Code Playgroud)
这会有什么用处?
Sar*_*raz 68
这@是PHP中的错误抑制运算符.
PHP支持一个错误控制操作符:at符号(@).当在PHP中添加表达式时,将忽略该表达式可能生成的任何错误消息.
看到:
在您的示例中,它在变量名称之前使用,以避免E_NOTICE错误.如果在$_POST数组中,hn则未设置密钥; 它会抛出一条E_NOTICE消息,但@在那里用来避免这种情况E_NOTICE.
请注意,您还可以将此行放在脚本之上以避免E_NOTICE错误:
error_reporting(E_ALL ^ E_NOTICE);
Run Code Online (Sandbox Code Playgroud)