>  기사  >  php教程  >  php isset() vs array_key_exists() 我该用哪个

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

WBOY
WBOY원래의
2016-06-06 20:12:091804검색

从上一篇文章我们可以看到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)) {
}

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.