在执行过程中,所有错误都会保存到这样的数组中:
$this->errors[$section] = $e->getMessage();
问题是,在执行之后,我必须发布所有部分,其中包括那些尝试与错误连接的错误的部分。当我试图:
echo $this->errors[$section];
这是我得到的警告:
Warning: Illegal offset type in ....
Dynamic access to a PHP array中描述的解决方案没有帮助。
答案 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不再设置为你想要的第二个代码块。