PHP中'at'符号在l值平均值前


In PHP, what does the 'at' symbol before an L-value mean?

我能找到的一切都是指使用@符号作为表达式的前缀,例如:

$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行