PHP中变量名称前的'At'符号:@ $

我看到函数调用之前有一个符号来关闭警告。 今天我正在浏览一些代码,并发现这一点:

$hn = @$_POST['hn'];

它在这里有什么好处?


@是PHP中的错误抑制运算符。

PHP支持一个错误控制运算符:at符号(@)。 当在PHP中添加表达式时,可能会忽略可能由该表达式生成的任何错误消息。

看到:

  • 错误控制操作符
  • @运算符的不良用法
  • 更新:

    在你的例子中 ,它被用在变量名之前,以避免那里的E_NOTICE错误。 如果在$_POST数组中, hn键未设置; 它会抛出E_NOTICE消息,但是在那里使用@来避免该E_NOTICE

    请注意,您也可以将此行放在脚本的顶部以避免发生E_NOTICE错误:

    error_reporting(E_ALL ^ E_NOTICE);
    

    如果未设置$ _POST ['hn'],它不会发出警告。


    这意味着,如果$ _POST ['hn']没有被定义,那么PHP不会抛出错误或警告,而只会将NULL分配给$ hn。

    链接地址: http://www.djcxy.com/p/1729.html

    上一篇: 'At' symbol before variable name in PHP: @$

    下一篇: What is the use of the @ symbol in PHP?