我的代码是
$arr = array(
"key" => array(
"id"
)
);
我做过速度测试 - >重复这两个语句10k次,平均时间均为0.000002。如果变量不存在,则两者都不会生成警告。
我在问,有什么不同吗?
我应该在脚本中使用哪个?
答案 0 :(得分:5)
与empty
函数不同的是,您明确检查是否存在您尝试在此数组中访问的密钥,并在尝试访问不存在的数组密钥时阻止出现错误消息。
数组访问之前的@
只是说隐藏了此行生成的所有错误。所以,如果有关键出现在您的数组中,您只需说“关心是否有任何错误 - 隐藏它”正确的方法是使用empty
或isset
函数首先检查数组键存在与否。
永远不会隐藏错误,以正确的方式阻止它们访问数组。