- ベストアンサー
Fatal error: Cannot use []
メンバ変数で var $list = array(); と宣言しておき、 関数内で $this->$list[] = 'text'; を実行するとエラー”Fatal error: Cannot use []”が現れます。 原因分かる方教えていただけますでしょうか? 宜しくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
そうですか(´・ω・`) ※test_class.php <?php class test{ var $list = array(); function test(){ $this->list[] = 'text'; $this->list[] = 'text2'; } } ?> ※test_view.php <?php require_once("./test_class.php"); $tester = new test; var_dump($tester->list); ?> これで検証しましたが、 私のPCはこれで出ます。
その他の回答 (3)
- yambejp
- ベストアンサー率51% (3827/7415)
$this->list[]であれば特に問題ないと思いますが・・・ <? class hoge{ var $list = array(); function fuga(){ $this->list[] = 'texta'; $this->list[] = 'textb'; $this->list[] = 'textc'; print_r($this->list); } } $hoge=new hoge; $hoge->fuga(); ?> PHPのバージョンはいくつですか?
- se-nabe
- ベストアンサー率34% (31/91)
なるほど、失礼しました。 よくよく見てみたら $this->$list[] = 'text' ここおかしくないですか? $this->list[] = 'text'; にしてみてください。
補足
失礼しました。 $this->list[] = 'text'; にはなっております。
- se-nabe
- ベストアンサー率34% (31/91)
※致命的なエラー:[] は使うことができません。 []をとったらいいと思います。
補足
補足します。 変数は配列で、配列の最後尾に追加していきたいのですが。 [] をはずすと↑の意図とは違ってくるので。
お礼
詳しい検証ありがとうございました。 $this->$list[]= 'text'; となっていました。 大変失礼いたしました。おかげで解決いたしました。 ありがとうございます。