]> granicus.if.org Git - php/blob
c29081cab7
[php] /
1 --TEST--
2 Bug #45706 Unserialization of classes derived from ArrayIterator fails
3 --FILE--
4 <?php
5 class Foo1 extends ArrayIterator
6 {
7 }
8 class Foo2 {
9 }
10 $x = array(new Foo1(),new Foo2);
11 $s = serialize($x);
12 $s = str_replace("Foo", "Bar", $s);
13 $y = unserialize($s);
14 var_dump($y);
15 --EXPECT--
16 array(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 }