php – 如何检查数组是否具有指定索引的元素?
发布时间:2020-05-25 09:54:44 所属栏目:PHP 来源:互联网
导读:我知道有array_key_exists(),但阅读文档后,我不太确定是否适合这种情况: 我有一个$数组和$索引.现在我想访问$数组,但是不知道它是否具有与$index相匹配的索引.我不是在说一个关联数组,而是一个无聊的普通数字索引数组. 有没有一个安全的方法来弄清楚,如果我
我知道有array_key_exists(),但阅读文档后,我不太确定是否适合这种情况: 我有一个$数组和$索引.现在我想访问$数组,但是不知道它是否具有与$index相匹配的索引.我不是在说一个关联数组,而是一个无聊的普通数字索引数组. 有没有一个安全的方法来弄清楚,如果我真的访问一个$数组元素与给定的$索引(这是一个整数!)? PHP可能不关心如果我访问一个索引超出边界的数组,也许只是返回NULL,但我不想甚至尝试编码脏,所以我想检查数组是否有键,或不;-) 您可以使用语言构造isset 或函数
array_key_exists :numeric或string key无关紧要:它仍然是一个关联数组,适用于PHP.
isset应该有点快(因为它不是一个函数),但是如果元素存在并且值为NULL,则返回false. 例如,考虑这个数组: $a = array( 123 => 'glop',456 => null,); 而这三个测试,依赖于isset: var_dump(isset($a[123])); var_dump(isset($a[456])); var_dump(isset($a[789])); 你会得到这样的输出: boolean true 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 true boolean true boolean false 因为: >在第一种情况下,元素存在 – 即使在第二种情况下为空>而在第三,它不存在. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |