答案 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;