php中判断数组键值,array_key_exists和isset区别

时间:2022-01-14 15:45:11
 $arr = array('key' => NULL);
if(isset($arr['key'])){
echo 'isset';
} else {
echo 'unset';
}
echo '<br/>';
if(array_key_exists('key', $arr)){
echo 'key exists';
} else {
echo 'key does not exist';
}

以上代码输出结果:

unset
key exists

 $arr = array('key' => '');
if(isset($arr['key'])){
echo 'isset';
} else {
echo 'unset';
}
echo '<br/>';
if(array_key_exists('key', $arr)){
echo 'key exists';
} else {
echo 'key does not exist';
}

以上代码输出结果:

isset
key exists

由此可见,仅在键对应的值为NULL时,判断结果才会有区别。