|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2009-10-09 13:05 UTC] liz2k dot b8 at gmail dot com
Description:
------------
function unserialize return wrong result of reference
Reproduce code:
---------------
---
From manual page: function.serialize
---
$a = new stdClass;
$a->v1 = $a;
$a->v2 = &$a;
echo serialize($a)."\n";
$b = &unserialize(serialize($a));
echo serialize($b);
Expected result:
----------------
O:8:"stdClass":2:{s:2:"v1";r:1;s:2:"v2";R:1;}
O:8:"stdClass":2:{s:2:"v1";r:1;s:2:"v2";R:1;}
Actual result:
--------------
O:8:"stdClass":2:{s:2:"v1";r:1;s:2:"v2";R:1;}
O:8:"stdClass":2:{s:2:"v1";R:1;s:2:"v2";R:1;}
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Oct 28 22:00:01 2025 UTC |
And one more wrong work Example: $a = new stdClass; $a->v2 = &$a; $a->v1 = $a; echo serialize($a)."\n"; $b = &unserialize(serialize($a)); echo serialize($b); Expected result: ---------------- O:8:"stdClass":2:{s:2:"v2";R:1;s:2:"v1";r:1;} O:8:"stdClass":2:{s:2:"v2";R:1;s:2:"v1";r:1;} Actual result: -------------- O:8:"stdClass":2:{s:2:"v2";R:1;s:2:"v1";r:1;} O:8:"stdClass":2:{s:2:"v2";r:1;s:2:"v1";r:1;}