php isset 的坑 - 正确判断数组里面的键是否存在
习惯了使用isset 判断数组里面的键是否存在,今天遇到一个很纠结的情况,百思不得其解。
通常我们会这样做
`if (isset($_POST['hello'])) xxx ;
if (isset($arr['id']) xxx ;`
但是今天发现,明明 $arr 里面是有 id 这个键的,isset($arr['id']) 返回 false
重新查询了文档
注意到了一个细节:
并且不是 NULL
终于找到了真凶,如果数组中存在这个键,但是对应的值是null 也会返回false。
那么我们怎么解决呢?
bool array_key_exists ( mixed $key , array $search )