哪个 PHP 构造更适合验证数组元素是否存在:isset 或 array_key_exists?

Mary-Kate Olsen
发布: 2024-10-19 06:22:02
原创
440 人浏览过

Which PHP Construct Is Better for Verifying Array Element Existence: isset or array_key_exists?

使用 isset 或 array_key_exists 验证数组元素是否存在

当寻求确定数组元素是否存在时,您可以使用 isset语言构造或 array_key_exists 函数。

isset

这种方法可能更有效,因为它不是函数。但是,如果元素存在但值为 NULL,则可能返回 false。

考虑以下数组:

<code class="php">$a = array(
    123 => 'glop', 
    456 => null, 
);</code>
登录后复制

使用 isset 测试元素是否存在:

<code class="php">var_dump(isset($a[123])); // true
var_dump(isset($a[456])); // false
var_dump(isset($a[789])); // false</code>
登录后复制

array_key_exists

相反,array_key_exists 仅评估键是否存在,而不管其值如何。

将 array_key_exists 与同一数组一起使用:

<code class="php">var_dump(array_key_exists(123, $a)); // true
var_dump(array_key_exists(456, $a)); // true
var_dump(array_key_exists(789, $a)); // false</code>
登录后复制

选择正确的方法

对于保证元素具有非 NULL 值的场景,isset 可能由于其效率而更可取。否则, array_key_exists 可能更合适。

在您的具体示例中,您可以使用 isset 修改代码如下:

<code class="php">if (!isset(self::$instances[$instanceKey])) {
    $instances[$instanceKey] = $theInstance;
}</code>
登录后复制

以上是哪个 PHP 构造更适合验证数组元素是否存在:isset 或 array_key_exists?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!