• ベストアンサー

Fatal error: Cannot use []

メンバ変数で var $list = array(); と宣言しておき、 関数内で $this->$list[] = 'text'; を実行するとエラー”Fatal error: Cannot use []”が現れます。 原因分かる方教えていただけますでしょうか? 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • se-nabe
  • ベストアンサー率34% (31/91)
回答No.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はこれで出ます。

hyakuichi
質問者

お礼

詳しい検証ありがとうございました。 $this->$list[]= 'text'; となっていました。 大変失礼いたしました。おかげで解決いたしました。 ありがとうございます。

その他の回答 (3)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

$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)
回答No.2

なるほど、失礼しました。 よくよく見てみたら $this->$list[] = 'text' ここおかしくないですか? $this->list[] = 'text'; にしてみてください。

hyakuichi
質問者

補足

失礼しました。 $this->list[] = 'text'; にはなっております。

  • se-nabe
  • ベストアンサー率34% (31/91)
回答No.1

※致命的なエラー:[] は使うことができません。 []をとったらいいと思います。

hyakuichi
質問者

補足

補足します。 変数は配列で、配列の最後尾に追加していきたいのですが。 [] をはずすと↑の意図とは違ってくるので。

関連するQ&A