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