| 
        php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits             
             [2016-04-09 09:35 UTC] krakjoe@php.net
 
-Status: Open
+Status: Verified
  [2016-04-09 17:02 UTC] laruence@php.net
  [2016-04-09 17:02 UTC] laruence@php.net
 
-Status: Verified
+Status: Closed
  [2016-07-20 11:32 UTC] davey@php.net
  | 
    |||||||||||||||||||||||||||
            
                 
                Copyright © 2001-2025 The PHP GroupAll rights reserved.  | 
        Last updated: Tue Nov 04 05:00:01 2025 UTC | 
Description: ------------ If the same member variable is returned twice from __sleep() and that member variable is a reference, the serialized output errors when unserialized. This "worked" before PHP7 and the error during unserialization appears in PHP 7.0.3 and later. Test script: --------------- <?php class C { } class A { public $b; function __construct() { $this->b = new C(); } function __sleep() { return array("b", "b"); } } $a = new A(); var_dump(unserialize(serialize($a))); Expected result: ---------------- Notice: member variable "b" returned from __sleep() multiple times or alternately, silently ignore the duplication. Actual result: -------------- Notice: unserialize(): Error at offset 43 of 44 bytes in /in/0FNkge on line 6 bool(false)