android 判断文件是否存在_3分钟短文 | PHP 判断数组key是否存在,你用isset?赶紧改!...

引言

接着我们的 PHP 数组操作系列文章继续写。今天说一说如何判断数组的key是否存在?

一般大家可能立马想到了那个函数——isset。但是这个是检测变量是否设置的,如果用来检查数组,可能又会一些副作用。

981efe427b0a27979d59d4e9297adf45.png

学习时间

其实判断数组的键是否存在,有一个一直以来的函数 array_key_exists ,检查给定的键名或索引是否存在于数组中。

比如有下面这个例子:

$key = 'jim';

// example 1
if (isset($array[$key])) {
    // ...
}

// example 2    
if (array_key_exists($key, $array)) {
    // ...
}

example 1 与 2 有什么区别吗?到底哪一个性能更好一些?

简单地说,isset 判断键是否存在,同时也判断键存在时值是否为空。性能当然是快的。而 array_key_exists 专门用于判断数组键是否存在,纵使传入的值是 NULL,也可以正确执行。功能更为专一。

我们举一个例子:

$a = array('key1' => 'フーバー', 'key2' => null);

isset($a['key1']);             // true
array_key_exists('key1', $a);  // true

isset($a['key2']);             // false
array_key_exists('key2', $a);  // true

对于键 key2,是存在的,而值是null,所以isset 返回了 false,而 array_key_exists 返回了true,后者才是我们想要的结果。

写在最后

看到上面的代码之后,赶紧自查一下你再程序里,还有哪些地方用了 isset 用于判断键是否存在的。如果不想程序跑偏,还是建议更改过来哦。

Happy coding :_)

我是 @程序员小助手 ,持续分享编程知识,欢迎关注。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值