PHP 4.0 Bug #8661: a copy of the internal array elements is sometimes not made

From: Date: Thu, 11 Jan 2001 21:27:34 +0000
Subject: PHP 4.0 Bug #8661: a copy of the internal array elements is sometimes not made
Groups: php.dev 
Request: Send a blank email to php-dev+get-43812@lists.php.net to get a copy of this message
From: lgordon@idiotbrain.com Operating system: freeBSD PHP version: 4.0.4 PHP Bug Type: Class/Object related Bug description: a copy of the internal array elements is sometimes not made <?php // buggy.php // If I leave both A1 and A2 commented out, the code works fine. // If I uncomment A1 only, the code works as expected // If I uncomment A2 only, the code does not work as expected class Element { var $val; function set_value($newval) { $this->val = $newval; } } class Owner { var $elementArray; function dump() { foreach ($this->elementArray as $index => $value) { print("index [$index] value [$value->val]<BR>"); } } } $myOwner = new Owner(); $myOwner->elementArray[0] = new Element; // -- A1 -- // this works as expected $myOwner->elementArray[0]->val = 10; // -- A2 -- // if this line is uncommented the code does not work as expected //$myOwner->elementArray[0]->set_value(10); print("dump myOwner<BR>"); $myOwner->dump(); print("<BR>"); print("make a copy of myOwner<BR>"); $copyOwner = $myOwner; print("<BR>"); print("dump copyOwner<BR>"); $copyOwner->dump(); print("<BR>"); print("change copyOwner index 0 to 999999<BR>"); $copyOwner->elementArray[0]->val = 999999; print("dump copyOwner<BR>"); $copyOwner->dump(); print("<BR>"); print("dump myOwner<BR>"); $myOwner->dump(); print("<BR>"); ?> -- Edit Bug report at: http://bugs.php.net/?id=8661&edit=1

« previous php.dev (#43812) next »