Home  >  Article  >  php教程  >  php isset() vs array_key_exists() 我该用哪个

php isset() vs array_key_exists() 我该用哪个

WBOY
WBOYOriginal
2016-06-06 20:12:091804browse

从上一篇文章我们可以看到isset()是要比array_key_exists()快的,有时甚至可以快十倍. 那么我们就应该使用isset(),是吗? 不,等等,有个非常特殊的情况,这种情况下isset()的返回会影响我们的判断. 参考php手册里面的isset()说明http://www.php.net/manual/zh/fu

从上一篇文章我们可以看到isset()是要比array_key_exists()快的,有时甚至可以快十倍.

那么我们就应该使用isset(),是吗?

不,等等,有个非常特殊的情况,这种情况下isset()的返回会影响我们的判断.

参考php手册里面的isset()说明http://www.php.net/manual/zh/function.isset.php

“检测变量是否设置,并且不是 NULL。”

是的,当元素值为null的时候,isset()同样会返回flase.

难道我们就要这样启用isset()了吗?

不,有个补救的发放

<?php if (isset($Arr['MyElement']) || array_key_exists('MyElement', $Arr)) {
}

看,我们用 ‘||’运算符精巧的跳过了这一问题

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn