dポイントプレゼントキャンペーン実施中!

メンバ変数で var $list = array(); と宣言しておき、
関数内で

$this->$list[] = 'text';

を実行するとエラー”Fatal error: Cannot use []”が現れます。
原因分かる方教えていただけますでしょうか?
宜しくお願いいたします。

A 回答 (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はこれで出ます。
    • good
    • 0
この回答へのお礼

詳しい検証ありがとうございました。
$this->$list[]= 'text'; となっていました。

大変失礼いたしました。おかげで解決いたしました。
ありがとうございます。

お礼日時:2008/10/27 16:35

$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のバージョンはいくつですか?
    • good
    • 0

なるほど、失礼しました。


よくよく見てみたら

$this->$list[] = 'text'

ここおかしくないですか?

$this->list[] = 'text';
にしてみてください。

この回答への補足

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

補足日時:2008/10/24 11:50
    • good
    • 0

※致命的なエラー:[] は使うことができません。



[]をとったらいいと思います。

この回答への補足

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

補足日時:2008/10/24 10:56
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!