@变量前的含义是什么?

时间:2010-12-08 22:58:36

标签: php

  

可能重复:
  Reference - What does this symbol mean in PHP?

我有这个任务:

$buffer=@data_value[$i];

@是什么意思?

5 个答案:

答案 0 :(得分:8)

这可以防止在访问i的{​​{1}}元素时抛出任何警告或错误。

有关详细信息,请参阅this帖子。

答案 1 :(得分:5)

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

此外,您的代码可能在@:

之后缺少$
$buffer=@$data_value[$i];

答案 2 :(得分:1)

它被称为“错误控制运算符”。由于这是一项任务,我相信你应该自己做其余的事。

答案 3 :(得分:0)

语句前面的@表示不应该从该语句的结果中报告警告/错误。简而言之,此声明会禁止错误报告

这在例如@fclose(fopen("file.txt",w"))可能会根据情况发出多个警告/错误,但如果前面有@,则会抑制所有这些警告或错误。

答案 4 :(得分:0)

如上所述,如果数组键不存在,则会抑制错误。不使用狡猾的错误抑制而做同样的版本是

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