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が2番目のコードブロックで必要なものに設定されなくなったことにあると感じています。

于 2012-08-10T20:45:18.633 に答える
1

インデックスを使用する前に、インデックスが有効かどうかを確認してください。

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