[PHP-users 11628] コンストラクタ引数にオブジェクトを参照渡しした時の動作につい

fumiyaKitamura php-users@php.gr.jp
Wed, 20 Nov 2002 20:30:32 +0900


こんにちはキタムラです。

以下のスクリプトを実行すると
<?php
class tst1{
   var $mem;
}
class tst2{
   var $Ref;
   function tst2(&$OBJ){  //参照渡し
     $this->Ref = $OBJ;
   }
}

$z = new tst1;
$z->mem = 'Z';
$y = new tst2($z);
echo '$y->Ref->mem:'.$y->Ref->mem.'<BR>';
echo '$z->mem:'.$z->mem.'<BR>';
$y->Ref->mem = 'Y';
echo '$y->Ref->mem:'.$y->Ref->mem.'<BR>';
echo '$z->mem:'.$z->mem.'<BR>';
?>

結果が
 $y->Ref->mem:Z
 $z->mem:Z
 $y->Ref->mem:Y
 $z->mem:Z
となります。

私の考えでは最後の
 $z->mem:Z
は
 $z->mem:Y
になるのですが...

何か大きな勘違いをしているのでしょうか?
どなたかアドバイスをお願いします。


=================<F.Kitamura>=================
E-Mail  : fkit@sys238.jp
---
The greatest enemy of man is alcohol.
But, The Bible tells us to love our enemy.
==============================================