[PHP-users 383] Re: クラスの中のクラスのメンバの中身が消える

Kentaro Fujinuma php-users@php.gr.jp
Fri, 29 Jun 2001 03:50:30 +0900


藤沼@イイガです。

<20010629014534.6862.YASUKI@cocoa.freemail.ne.jp> の、
   "[PHP-users 377] クラスの中のクラスのメンバの中身が消える" において、
   "ikeyasu <yasuki@cocoa.freemail.ne.jp>"さんは書きました:

> これはバグなのでしょうか?それとも仕様なのでしょうか。

仕様です。

> $b = $a->getTest();
のときに、$b には $a->data への参照ではなく、$a->data の
コピーが入ります。したがって $b に対する変更は $a->data には
反映されません。

$a->date に反映されるようにするには
   function &getTest(){
     return $this->data;
   }
として参照を返すようにし、
$b = &$a->getTest();
として参照を受け取るようにする必要があります。

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Kentaro Fujinuma / IIGA Co., Ltd. / Network Administrator
 Contact: E-mail: fuji@iiga.co.jp 
          Tel: 03-5296-0388 / Fax: 03-5296-0386
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-