PHP isset, array_key_exists配合使用, 并解决效率问题

Posted mayBel

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP isset, array_key_exists配合使用, 并解决效率问题相关的知识,希望对你有一定的参考价值。

如果有一个数组,

$arr = array(‘one‘ => null, ‘two‘ => 1, ‘three‘ => 2);

问题, 如果要判断数组中‘one‘这个键是否存在..如果单纯用 isset 判断会出现问题

if(isset($arr[‘one‘])){

  echo ‘存在‘;

}esle{

  echo ‘不存在‘;

}

 

输出 : 不存在

 

isset对于判断null这种值, 会认为没有在内存中开辟空间, 相当于销毁变量.

所以希望有效率, 并且能准确判断键是否被创建, 则应该这样写 : 

if(isset($arr[‘one‘]) || array_key_exists($arr[‘one‘])){

  echo ‘存在‘;

}else{

  echo ‘不存在‘;

}

 

这样, 左边的isset如果为true后就会直接判断为存在, 不执行array_key_exists函数, 效率得以提高.

 

以上是关于PHP isset, array_key_exists配合使用, 并解决效率问题的主要内容,如果未能解决你的问题,请参考以下文章

更新记录:如何检查新文件是否已上传PHP

php魔术方法 __isset()

PHP7中的isset

PHP7中的isset

php php isset post

php PHP isset三元