0

PHP の「参照渡し」に関するあらゆる混乱が私に影響を与えたことを認めなければなりませんが、今ではよくわかりません。私は次のコードを考えていたでしょう:

class TestClass {

    private $my_precious = array ('one','two','three');

    public function &give_reference() {
        return $this->my_precious;
    }

}

$foobar = new TestClass();
$my_ref = $foobar->give_reference();
$my_ref = array ("four", "five", "six");

echo print_r($foobar,true);

印刷します:

TestClass Object
(
    [my_precious:TestClass:private] => Array
        (
            [0] => four
            [1] => five
            [2] => six
        )

)

しかし、悲しいかな、私の参考文献には持続力がないようで、代わりにエコーします:

TestClass Object
(
    [my_precious:TestClass:private] => Array
        (
            [0] => one
            [1] => two
            [2] => three
        )

)

どうすればこれを機能させることができますか?

4

2 に答える 2

2

参照によっても割り当てる必要があります。

$my_ref =& $foobar->give_reference();
于 2013-03-09T16:00:42.697 に答える
0

試す:

class TestClass {

    private $my_precious = array ('one','two','three');

    public function & give_reference() {
        return $this->my_precious;
    }

}

$foobar = new TestClass();
$my_ref = & $foobar->give_reference();
$my_ref = array ("four", "five", "six");

echo print_r($foobar,true);
于 2013-03-09T16:11:16.540 に答える