array_key_exists($name, $defaults)
isset($defaults[$name])
答案 0 :(得分:5)
是的,有区别。如果值为 null ,则isset
会返回 false ,而array_key_exists
则不会:
$defaults = array('foobar' => null);
var_dump(array_key_exists('foobar', $defaults)); // bool(true)
var_dump(isset($defaults['foobar'])); // bool(false)
因此,除非您不希望数组项是否存在或 null ,否则应始终使用array_key_exists
作为数组键。
答案 1 :(得分:1)
以下是PHP手册中关于两者之间performance differences的快速评论! 但他们做同样的事情: - \
罢工,我是个白痴。