从上一篇文章我们可以看到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)) { }
看,我们用 ‘||’运算符精巧的跳过了这一问题
原文地址:php isset() vs array_key_exists() 我该用哪个, 感谢原作者分享。