1--TEST-- 2Bug #45706 Unserialization of classes derived from ArrayIterator fails 3--FILE-- 4<?php 5class Foo1 extends ArrayIterator 6{ 7} 8class Foo2 { 9} 10$x = array(new Foo1(),new Foo2); 11$s = serialize($x); 12$s = str_replace("Foo", "Bar", $s); 13$y = unserialize($s); 14var_dump($y); 15--EXPECTF-- 16array(2) { 17 [0]=> 18 object(__PHP_Incomplete_Class)#3 (5) { 19 ["__PHP_Incomplete_Class_Name"]=> 20 string(4) "Bar1" 21 ["0"]=> 22 int(0) 23 ["1"]=> 24 array(0) { 25 } 26 ["2"]=> 27 array(0) { 28 } 29 ["3"]=> 30 NULL 31 } 32 [1]=> 33 object(__PHP_Incomplete_Class)#4 (1) { 34 ["__PHP_Incomplete_Class_Name"]=> 35 string(4) "Bar2" 36 } 37} 38