|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2004-05-08 12:15 UTC] antonr at game dot permonline dot ru
[2004-06-30 04:51 UTC] moriyoshi@php.net
[2004-06-30 04:52 UTC] moriyoshi@php.net
[2004-07-05 10:00 UTC] moriyoshi@php.net
[2004-09-25 00:08 UTC] helly@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 06:00:01 2025 UTC |
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