Annotation of embedaddon/php/ext/standard/tests/array/array_replace.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_replace and array_replace_recursive
3: --FILE--
4: <?php
5:
6: $array1 = array(
7: 0 => 'dontclobber',
8: '1' => 'unclobbered',
9: 'test2' => 0.0,
10: 'test3' => array(
11: 'testarray2' => true,
12: 1 => array(
13: 'testsubarray1' => 'dontclobber2',
14: 'testsubarray2' => 'dontclobber3',
15: ),
16: ),
17: );
18:
19: $array2 = array(
20: 1 => 'clobbered',
21: 'test3' => array(
22: 'testarray2' => false,
23: ),
24: 'test4' => array(
25: 'clobbered3' => array(0, 1, 2),
26: ),
27: );
28:
29: $array3 = array(array(array(array())));
30:
31: $array4 = array();
32: $array4[] = &$array4;
33:
34: echo " -- Testing array_replace() --\n";
35: $data = array_replace($array1, $array2);
36:
37: var_dump($data);
38:
39: echo " -- Testing array_replace_recursive() --\n";
40: $data = array_replace_recursive($array1, $array2);
41:
42: var_dump($data);
43:
44: echo " -- Testing array_replace_recursive() w/ endless recusrsion --\n";
45: $data = array_replace_recursive($array3, $array4);
46:
47: var_dump($data);
48: ?>
49: --EXPECTF--
50: -- Testing array_replace() --
51: array(5) {
52: [0]=>
53: string(11) "dontclobber"
54: [1]=>
55: string(9) "clobbered"
56: ["test2"]=>
57: float(0)
58: ["test3"]=>
59: array(1) {
60: ["testarray2"]=>
61: bool(false)
62: }
63: ["test4"]=>
64: array(1) {
65: ["clobbered3"]=>
66: array(3) {
67: [0]=>
68: int(0)
69: [1]=>
70: int(1)
71: [2]=>
72: int(2)
73: }
74: }
75: }
76: -- Testing array_replace_recursive() --
77: array(5) {
78: [0]=>
79: string(11) "dontclobber"
80: [1]=>
81: string(9) "clobbered"
82: ["test2"]=>
83: float(0)
84: ["test3"]=>
85: array(2) {
86: ["testarray2"]=>
87: bool(false)
88: [1]=>
89: array(2) {
90: ["testsubarray1"]=>
91: string(12) "dontclobber2"
92: ["testsubarray2"]=>
93: string(12) "dontclobber3"
94: }
95: }
96: ["test4"]=>
97: array(1) {
98: ["clobbered3"]=>
99: array(3) {
100: [0]=>
101: int(0)
102: [1]=>
103: int(1)
104: [2]=>
105: int(2)
106: }
107: }
108: }
109: -- Testing array_replace_recursive() w/ endless recusrsion --
110:
111: Warning: array_replace_recursive(): recursion detected in %s on line %d
112: array(1) {
113: [0]=>
114: array(1) {
115: [0]=>
116: array(1) {
117: [0]=>
118: array(0) {
119: }
120: }
121: }
122: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>