2013-03-09 4 views
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 
     ) 

) 

Как могу ли я сделать эту работу?

ответ

2

Вы должны назначить по ссылке, а также:

$my_ref =& $foobar->give_reference(); 
0

Try:

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); 
Смежные вопросы