2010-12-08 35 views
4

Possible Duplicate:
Reference - What does this symbol mean in PHP?@表示变量之前的含义是什么?

我有这样的任务:

[email protected]_value[$i]; 

什么的@是什么意思?

+15

这是为了防止你弄清楚你的代码出了什么问题。 – 2010-12-08 23:01:32

+1

其实这句话甚至没有编译 – 2010-12-08 23:02:45

+0

@Ignacio我第二。我们的phpcs代码标准被配置为接收任何试图做到这一点的开发人员并对他们大喊大叫。 – 2010-12-08 23:03:42

回答

8

这样可以防止在访问data_valuei th元素时引发任何警告或错误。

有关详细信息,请参阅this

0

@在声明前意味着不应该从该声明的结果报告警告/错误。简单地说,错误报告对此语句被取消。

这是特别有用的,例如, @fclose(fopen("file.txt",w"))根据具体情况可以抛出多个警告/错误,但在其前面有一个@,所有这些警告或错误都会被抑制。

1

它被称为“错误控制操作符”。既然这是一项任务,我相信你应该自己休息一下。

5

@将抑制有关变量未被初始化的错误(将改为评估为null)。

而且,你的代码可能缺少$ @后:

[email protected]$data_value[$i]; 
0

如上所述,它如果阵列键不存在,抑制了错误。一个版本不会采取狡猾的错误抑制措施,而是采取相同的措施:

$buffer = array_key_exists($i, $data_value) ? $data_value[$i] : null; 
相关问题