我能找到的一切都是指使用@
符号作为表达式的前缀,例如:
$foo = @bar();
我这里说的是不是。我有一个使用@
符号作为l值前缀的语句,如:
@$foo = bar();
这是什么意思?
(理想情况下,请将语义解释为将该语句解糖为不使用@
符号的语句)
@
符号用于抑制错误消息
PHP支持一种错误控制操作符:@(@)。当在PHP中,任何错误消息都可以加到表达式前由该表达式生成的将被忽略。例如
,
下面的代码不会在屏幕上产生任何错误;
<?php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
@$foo = $bar;
echo $foo;
但是,没有@
,它可以;
注意:未定义变量:bar在C:'xampp'htdocs'test'test.php第6行