首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数组:4维,isset返回不可靠

数组:4维,isset返回不可靠
EN

Stack Overflow用户
提问于 2010-11-30 22:19:59
回答 3查看 851关注 0票数 4

有没有人知道,这是怎么回事,这段代码是在模仿yahoo吗?显然没有第四个数组的关键字是'something',但它一直认为是这样的。虫子?功能?

代码语言:javascript
运行
复制
$array = array('a' => array('b' => array('c' => 'test')));
echo '<pre>';
var_dump($array);
echo '</pre>';
if (isset($array['a']['b']['c']['something'])) {
    echo 'yahoo';
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-30 22:24:47

因为PHP认为您正在检查字符串“test”的“某物”位置。记住,字符串是字符的数组。尝试回显$array'a''c‘。

::编辑::

我解释过了,我没说这有道理。:P

票数 4
EN

Stack Overflow用户

发布于 2010-11-30 22:32:29

在这种情况下,您可能希望使用is_array($array['a']['b']['c'])而不是isset($array['a']['b']['c']['something']),或者可能是两者的巧妙组合,以确保在检查是否为数组时未设置它时不会出现任何错误。

类似于:

代码语言:javascript
运行
复制
if(isset($array['a']['b']['c']['something']) && is_array($array['a']['b']['c'])){ [...] }
票数 1
EN

Stack Overflow用户

发布于 2011-09-19 15:15:31

Here在这个问题上讨论了PHP的行为,并提供了一个恰好针对您的问题的解决方案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4314692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档