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

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

Linda Hamilton
Linda Hamilton原创
2024-10-19 06:20:02620浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn