Hi, Friday, May 14, 2004, 5:10:49 AM, you wrote: VS> Hi!
VS> I found that when I try to call class method "addchild" from reference of VS> object - php change not original object. New copy of object will created. VS> Very strange.... VS> Example: VS> <? VS> class pages { VS> var $childs; VS> var $absnum; VS> function pages($absnum) { VS> $this->absnum = $absnum; VS> } VS> function addchild(&$node) { VS> if (!is_array($this->childs)) VS> $this->childs = array(); VS> $this->childs[$node->absnum] = $node; VS> } VS> } VS> $allpages = new pages(0); VS> $allrows = array(); VS> $allrows[0] = &$allpages; VS> $allrows[2] = &new pages(2); $allrows[0]->>addchild($allrows[2]); VS> $allrows[3] = &new pages(3); $allrows[0]->>addchild($allrows[3]); VS> $allrows[4] = &new pages(4); $allrows[3]->>addchild($allrows[4]); VS> // This is data of object $allrows[3] VS> echo '<pre>'; VS> print_r($allrows[3]); VS> echo '</pre>'; VS> // But in global array element $allrows[3] have another value VS> echo '<pre>'; VS> print_r($allpages); VS> echo '</pre>'; ?>> VS> Any ideas? VS> Thanks You need the =& in the addChild function function addchild(&$node) { if (!is_array($this->childs)) $this->childs = array(); $this->childs[$node->absnum] =& $node; } -- regards, Tom -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php