程序员小助手|| PHP 判断数组key是否存在,你用isset?赶紧改!,3分钟短文

引言接着我们的PHP数组操作系列文章继续写 。 今天说一说如何判断数组的key是否存在?一般大家可能立马想到了那个函数——isset 。 但是这个是检测变量是否设置的 , 如果用来检查数组 , 可能又会一些副作用 。
【程序员小助手|| PHP 判断数组key是否存在,你用isset?赶紧改!,3分钟短文】
程序员小助手|| PHP 判断数组key是否存在,你用isset?赶紧改!,3分钟短文
文章图片
学习时间其实判断数组的键是否存在 , 有一个一直以来的函数array_key_exists , 检查给定的键名或索引是否存在于数组中 。 比如有下面这个例子:$key="jim"//example1if(isset($array[$key])){//...}//example2if(array_key_exists($key,$array)){//...}example1与2有什么区别吗?到底哪一个性能更好一些?简单地说 , isset判断键是否存在 , 同时也判断键存在时值是否为空 。 性能当然是快的 。 而array_key_exists专门用于判断数组键是否存在 , 纵使传入的值是NULL , 也可以正确执行 。 功能更为专一 。 我们举一个例子:$a=array("key1"=&gt"フーバー","key2"=&gtnull)isset($a["key1"])//truearray_key_exists("key1",$a)//trueisset($a["key2"])//falsearray_key_exists("key2",$a)//true对于键key2 , 是存在的 , 而值是null , 所以isset返回了false , 而array_key_exists返回了true , 后者才是我们想要的结果 。 写在最后看到上面的代码之后 , 赶紧自查一下你再程序里 , 还有哪些地方用了isset用于判断键是否存在的 。 如果不想程序跑偏 , 还是建议更改过来哦 。 Happycoding:_)我是@程序员小助手 , 持续分享编程知识 , 欢迎关注 。