£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyʦ•ꎅȮFÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~芩ÊǍí`ÔÑ©ú뙵'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶êםӼ㞪éUWŸÈË%DÒÕ¬ï‘]/Åcx ‰ï2ß]ä6G[]S£Ôϯrs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ ¯¹ægƒÛowЍø^d™ý½ßB7áyMä9ÜÖUã !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --TEST-- __serialize() mechanism (021): Temporary references in serialized arrays should be properly deduplicated --FILE-- i = $i; } public function __serialize() { $j = $this->i + 0x7700; return [&$j, &$j]; } public function __unserialize(array $data) { list($this->i) = $data; } } $values = []; for ($i = 0; $i < 256; $i++) { $values[] = new Test($i); } $ser = igbinary_serialize($values); $result = igbinary_unserialize($ser); printf("Count=%d\n", count($values)); $j = 0; foreach ($values as $i => $v) { if ($i !== $j) { echo "Unexpected key $i, expected $j\n"; } if ($v->i !== $j) { echo "Unexpected value {$v->i}, expected $j\n"; } $j++; } echo "Done\n"; ?> --EXPECT-- Count=256 Done