1

私はPHPOOPを初めて使用し、配列を元に戻すのに問題があります。

class example
{
    public $array;

    public function __construct()
    {
        $this->array = array();

    }

    public function do_work()
    {
        $this->array[] = 'test';
    }
}
$test = new example();
$test->do_work();
$test->array;

'test'の代わりに空の配列を取得し続けます。私は何が間違っているのですか?

4

2 に答える 2

5

これは、実際に関数を呼び出さないためです$test->do_work(); 。コンストラクターは空の配列を作成するだけで、プロパティにアクセスしようとします。空にする必要があります。

更新

質問が更新されたようです。単純echo $test->arrayに、印刷するだけArrayです。ただし、更新したコードをコピーしてを実行するとvar_dump($test->array)、次のような出力が得られます。

array(1) { [0]=> string(4) "test" } 

私が信じているのはあなたが期待していることです。ただし、質問にあるコードは何も出力しないはずです。で何もしていません$test->array。変数が評価されてから破棄されます。

于 2012-05-11T19:59:02.607 に答える
4

あなたの最後の声明は、$test->array;実際には何もしません。私の推測では、あなたはのようなものを使用していると思いますecho。たとえば、コードは配列を出力する必要があります。コードパッドの例var_dump参照してください。

于 2012-05-11T20:08:47.263 に答える