PHP的isset处理数组时需要注意值为null的情况

我们通常习惯使用isset来判断数组里是否存在指定的key

但是对于下面的情况,isset并不能作出正确的判断

$first = ['key' => null];
$second = [null];

// 返回false
isset($first['key']);

// 返回false
isset($second[0]);

当数组键对应的值为null时,isset返回的是false,而解决办法是使用array_key_exists

$first = ['key' => null];
$second = [null];

// 返回true
array_key_exists('key', $first);

// 返回true
array_key_exists(0, $second);

但是isset处理的速度要远远高于array_key_exists,所以使用场合需要根据具体环境来判断,更稳妥的办法是:

if (isset($first['key']) || array_key_exists('key', $first)) {
    // key存在后的处理
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容