我的代码是
$arr = array(
"key" => array(
"id"
)
);
Run Code Online (Sandbox Code Playgroud)
我做了速度测试 - > 10k次重复这两个语句,平均时间均为0.000002.如果变量不存在,则两者都不会生成警告.
我在问,有什么区别吗?
我应该在脚本中更好地使用哪个?
不同的是,使用该empty函数显式检查您是否正在尝试访问此数组中的密钥,并在尝试访问不存在的数组密钥时阻止出现错误消息.
该@数组访问之前只是说来隐藏由该行所产生的所有错误.因此,如果有关键存在于您的数组中,您只需说"如果有任何错误就会关心 - 隐藏它"正确的方法是使用empty或isset函数首先检查数组键是否存在.
永远不会隐藏错误,以正确的方式阻止它们访问数组.