首页 > 后端开发 > php教程 > 如何确定数组中元素是否存在以避免错误

如何确定数组中元素是否存在以避免错误

Linda Hamilton
发布: 2024-10-19 06:20:02
原创
626 人浏览过

How to Determine the Existence of Elements in an Array to Avoid Errors

确定数组元素是否存在

检查数组中是否存在元素时,您描述的方法可能会导致 undefined索引错误。要有效解决此问题,您可以使用 isset 构造或 array_key_exists 函数。

使用 isset

isset 是速度优化的首选选项。它检查元素是否存在,无论其值如何。但是,对于已显式设置为 NULL 的元素,它会返回 false。

使用 array_key_exists

array_key_exists 确定数组中是否存在特定键。与 isset 不同,它不考虑与键关联的值。

示例:

考虑以下数组:

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

使用 isset 进行测试:

<code class="php">var_dump(isset($a[123])); // true (key exists with a non-null value)
var_dump(isset($a[456])); // false (key exists with a null value)
var_dump(isset($a[789])); // false (key does not exist)</code>
登录后复制

使用 array_key_exists 进行测试:

<code class="php">var_dump(array_key_exists(123, $a)); // true (key exists regardless of value)
var_dump(array_key_exists(456, $a)); // true (key exists regardless of value)
var_dump(array_key_exists(789, $a)); // false (key does not exist)</code>
登录后复制

代码更新:

在您的代码中,您可以使用 isset 重写检查:

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

以上是如何确定数组中元素是否存在以避免错误的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板