访问使用php动态创建的数组

时间:2012-08-10 20:39:53

标签: php arrays

在执行过程中,所有错误都会保存到这样的数组中:

$this->errors[$section] = $e->getMessage();

问题是,在执行之后,我必须发布所有部分,其中包括那些尝试与错误连接的错误的部分。当我试图:

echo $this->errors[$section];

这是我得到的警告:

Warning: Illegal offset type in ....

Dynamic access to a PHP array中描述的解决方案没有帮助。

2 个答案:

答案 0 :(得分:1)

在使用之前检查索引是否有效:

if (array_key_exists($section, $this->errors) ) { 
    echo $this->errors[$section]; 
}

答案 1 :(得分:1)

如果您还没有设置$section,那么PHP就不知道该返回什么。

假设你的节是数组有某种ID号或字符串:

$errors[$section['id']] = $e->getMessage();
...
foreach($errors as $error){
    print_r($error);
}

我觉得你的问题在于$ section不再设置为你想要的第二个代码块。