栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何检查数组元素是否存在?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何检查数组元素是否存在?

您可以使用语言构造

isset
或函数
array_key_exists

isset
应该更快一些 (因为它不是函数) ,但是如果元素存在并且具有value,则将返回false
NULL

例如,考虑以下数组:

$a = array(    123 => 'glop',     456 => null, );

和这三个测试,依赖于

isset

var_dump(isset($a[123]));var_dump(isset($a[456]));var_dump(isset($a[789]));

第一个会得到您( 该元素存在,并且不为null)

boolean true

虽然第二个可以帮助您 (该元素存在,但为null)

boolean false

最后一个会让你 (该元素不存在)

boolean false

另一方面,

array_key_exists
像这样使用:

var_dump(array_key_exists(123, $a));var_dump(array_key_exists(456, $a));var_dump(array_key_exists(789, $a));

您将获得这些输出:

boolean trueboolean trueboolean false

因为在前两种情况下,元素存在-即使在第二种情况下为null。而且,当然,在第三种情况下,它不存在。

对于像您这样的情况,我通常会使用

isset
,考虑到我永远不会在第二种情况下…但是,现在选择要使用哪种方式取决于您;-)

例如,您的代码可能会变成这样:

if (!isset(self::$instances[$instanceKey])) {    $instances[$instanceKey] = $theInstance;}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/594724.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号