php判断数组一个键是否存在,之前习惯了用isset去判断
例如我有下面一个数组$data
{
"authors":"",
"authorsName":"Yu",
"categoryIds":[
],
"coverImage":null
}
值分别是空,有值,空数组和null,
使用isset($data['authors']) 返回true
isset($data['authorsName']) 返回true
isset($data['categoryIds']) 返回true
isset($data['coverImage']) 返回false
但是array_key_exists()就不会存在这个问题。
array_key_exists('coverImage',$data); 返回也是true.
还有一个in_array这个也是需要注意的点:举个栗子
in_array(0,['id','title','content'])
这里返回的true,这个bug,也是我改动别人代码发现的,结果别人下面做了处理,我直接在循环里面,continue,导致排查半天,所以运行正常的代码,还是能不动的情况下不要动都是血泪史
之前没注意。特写一下吧