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

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

WBOY
WBOYasal
2016-06-06 20:12:091804semak imbas

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

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn