ID: 28325 Updated by: [EMAIL PROTECTED] Reported By: antonr at game dot permonline dot ru Status: Assigned Bug Type: Class/Object related -Operating System: Win32 +Operating System: Irrelevant -PHP Version: 5CVS-2004-05-08 (dev) +PHP Version: 5CVS-2004-06-30 (dev) Assigned To: moriyoshi New Comment:
Correct URL: http://www.voltex.jp/patches/bug28325-preliminary.patch.diff Previous Comments: ------------------------------------------------------------------------ [2004-06-30 04:51:34] [EMAIL PROTECTED] Analysed. Preliminary patch can be found here: http://www.voltex.jp/patches/ ------------------------------------------------------------------------ [2004-05-08 12:15:23] antonr at game dot permonline dot ru but if change the line $a->myclass2->myclass1 = $a; to $a->myclass2->myclass1 = &$a; serialization/unserialization works fine ------------------------------------------------------------------------ [2004-05-08 12:12:30] antonr at game dot permonline dot ru Description: ------------ I have one object with property "myclass1", referenced to second object. And property "myclass2" of second object, referenced to first object. When I serialize the first object and unserialize the result string, I get three objects: two copies of first object and a copy of second object. Reproduce code: --------------- <?php class MyClass1 { public $myclass2; public $number; } class MyClass2 { public $myclass1; } $a = new MyClass1; $a->number = 1; $a->myclass2 = new MyClass2; $a->myclass2->myclass1 = $a; $b = unserialize(serialize($a)); $b->number = 2; echo $b->number; echo "\n"; echo $b->myclass2->myclass1->number; ?> Expected result: ---------------- If serialization was made correctly, then we would get that $b and $b->myclass2->myclass1 are references to one instance, and the output of script must be: 2 2 Actual result: -------------- The actual output is 2 1 this means, that $b and $b->myclass2->myclass1 aren't references to the same instance ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=28325&edit=1
