Heim  >  Artikel  >  php教程  >  php isset() vs array_key_exists() 我该用哪个

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

WBOY
WBOYOriginal
2016-06-06 20:12:091803Durchsuche

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn