0 レビュー
1 回答
php-配列から文字列への変換に関する通知
次のコード行でこの不可解なnboticeを取得しています:
$this->$aStyles = $aStyles;
このコード行はこの関数に含まれています:
private function cleanStyles()
{{
if((isset($ this-> sValue))&&($ this-> sValue))
{{
$ this-> aStyles = array();
trueを返します。
}
$ aStyles = array();
foreach($ this-> aStyles as $ oStyle)
if($ oStyle-> cleanStyles())
$ aStyles [] = $ oStyle;
{-コード-1}
return(count($ this-> $ aStyles)> 0);
}
この通知が表示される理由について何か考えはありますか?
役立つ場合に備えて、私がやろうとしていることについて少し背景を説明します。 Excelレポートを表すオブジェクト階層があります。階層はphpExcelと通信して、実際にレポートを描画します。描画の準備をするときに階層が実行する手順の1つは、スタイル配列をクリーンアップすることです。
スタイルオブジェクトには、スタイルオブジェクトの配列を含めることも、値を含めることもできます。
cleanStylesは、スタイルを再帰的にクリーンアップして、存在するすべてのスタイルに値または有効なスタイルの配列があることを確認することで、有効なphpExcelスタイル配列に変換できるようにする必要があります。
わからない
0
レビュー
答え :
解決策:
プロパティの間接参照から$
記号を削除します:
$ this-> aStyles = $ aStyles;
------ ^
phpがオブジェクト値にアクセスしようとする前に$aStyles
を評価しようとしているため、コードが機能しませんでした。この場合、aStylesは配列であるため、その構文は aStyles
が文字列である場合にのみ有効であるため通知が表示されます
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。