ID: 7515
Updated by: yohgaki
Reported By: [EMAIL PROTECTED]
Status: Assigned
Bug Type: Scripting Engine problem
Operating System: linux + win2k
PHP Version: 4.0 Latest CVS (28/10/2000)
Assigned To: andre
New Comment:

Is this still a issue? This report is updated a year ago...
If this report is outstanding, PHP Version is better to be updated...

Previous Comments:
------------------------------------------------------------------------

[2000-12-16 13:40:39] [EMAIL PROTECTED]

assigned to zeev, as discussed we either need
a) a permanent fix
b) a permanent deep copy function and understand this effect
as a feature and users will eventually have to use deep
copies for some containers

------------------------------------------------------------------------

[2000-10-28 10:25:28] [EMAIL PROTECTED]

This code is pretty self-explanatory...

Uncommenting the noticed (*[0]) line, causes the object contained ('root') in the 
instance of 'obj'  to be referenced to whatever, function test() uses a copy $o_copy 
but reference-counting fails and the contained object 'root' is somehow referenced to 
the original object in the global scope.
After having uncommented *[0] try to uncomment *[1] what should break the reference 
again, that made me assuming this all is caused by reference counting...

<?php
class obj {
        function method() {}
    }

function test($o_copy) {
        //$o_copy->root=&$o_copy->root; // *[1]

        $o_copy->root->set_in_copied_o=TRUE;
        var_dump($o_copy);?><BR><?php }


$o->root=new obj();
//$o->root->method();   // *[0] uncomment this line and weirdness starts

var_dump($o);?><BR><?php
test($o);
var_dump($o);
?>


------------------------------------------------------------------------



Edit this bug report at http://bugs.php.net/?id=7515&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to