0

在执行期间,所有错误都保存到这样的数组中:

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

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

echo $this->errors[$section];

这是我得到的警告:

Warning: Illegal offset type in ....

动态访问 PHP 数组中描述的解决方案没有帮助。

4

2 回答 2

1

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

假设您的部分是具有某种 ID 号或字符串的数组:

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

我有一种感觉,您的问题在于 $section 不再设置为您在第二个代码块中想要的内容。

于 2012-08-10T20:45:18.633 回答
1

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

if (array_key_exists($section, $this->errors) ) { 
    echo $this->errors[$section]; 
}
于 2012-08-10T20:42:12.990 回答