isset()和array_key_exists()之间有什么区别?[副本]

这个问题在这里已经有答案了
什么'判断PHP中是否存在数组键更快更好?

(11个答案)

两年前关闭的

以下两个函数调用如何比较:

isset($a['key'])
数组\键\存在('key',$a)

array\u key\u exists肯定会告诉您数组中是否存在键,而isset只会在键/变量存在且不为null时返回true

$a=array('key1'=>'フーバー', '键2'=>空);
isset($a['key1']);//符合事实的
数组_key_存在('key1',$a);//符合事实的
isset($a['key2']);//错误的
数组_key_存在('key2',$a);//符合事实的

还有另一个重要区别:isset$a不存在时不会抱怨,而array\u key\u存在时会抱怨

发表评论