php isset 和 array_key_exists 检查数组中是否存在某值的区别

先看看下面这段代码,你觉得结果是什么呢?

//定义一个数组, > 5.4
$arr = ['a' => null];
var_dump(isset($arr), array_key_exists('a', $arr));

---------------------下面是结果---------------------------

/*
 * 输出
 *bool(false)
 *bool(true)
 */

//isset 的用法是: 检测变量是否设置,并且不是 NULL。所以会有上面的输出
//如果判断数组中是否存在某个键值,还是乖乖的用 array_key_exists 吧,不然就是给自己挖了一个巨隐藏的坑啊!!!
此条目发表在php 优化分类目录。将固定链接加入收藏夹。