Annotation of embedaddon/php/ext/standard/tests/array/array_merge_recursive_variation10.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_merge_recursive() function : usage variations - two dimensional arrays
3: --FILE--
4: <?php
5: /* Prototype : array array_merge_recursive(array $arr1[, array $...])
6: * Description: Recursively merges elements from passed arrays into one array
7: * Source code: ext/standard/array.c
8: */
9:
10: /*
11: * Testing the functionality of array_merge_recursive() by passing
12: * two dimensional arrays for $arr1 argument.
13: */
14:
15: echo "*** Testing array_merge_recursive() : two dimensional array for \$arr1 argument ***\n";
16:
17: // initialize the 2-d array
18: $arr1 = array(
19: array(1, 2, 3, 1),
20: "array" => array("hello", "world", "str1" => "hello", "str2" => 'world'),
21: array(1 => "one", 2 => "two", "one", 'two'),
22: array(1, 2, 3, 1)
23: );
24:
25: // initialize the second argument
26: $arr2 = array(1, "hello", "array" => array("hello", 'world'));
27:
28: echo "-- Passing the entire 2-d array --\n";
29: echo "-- With default argument --\n";
30: var_dump( array_merge_recursive($arr1) );
31: echo "-- With more arguments --\n";
32: var_dump( array_merge_recursive($arr1, $arr2) );
33:
34: echo "-- Passing the sub-array --\n";
35: echo "-- With default argument --\n";
36: var_dump( array_merge_recursive($arr1["array"]) );
37: echo "-- With more arguments --\n";
38: var_dump( array_merge_recursive($arr1["array"], $arr2["array"]) );
39:
40: echo "Done";
41: ?>
42: --EXPECTF--
43: *** Testing array_merge_recursive() : two dimensional array for $arr1 argument ***
44: -- Passing the entire 2-d array --
45: -- With default argument --
46: array(4) {
47: [0]=>
48: array(4) {
49: [0]=>
50: int(1)
51: [1]=>
52: int(2)
53: [2]=>
54: int(3)
55: [3]=>
56: int(1)
57: }
58: ["array"]=>
59: array(4) {
60: [0]=>
61: string(5) "hello"
62: [1]=>
63: string(5) "world"
64: ["str1"]=>
65: string(5) "hello"
66: ["str2"]=>
67: string(5) "world"
68: }
69: [1]=>
70: array(4) {
71: [1]=>
72: string(3) "one"
73: [2]=>
74: string(3) "two"
75: [3]=>
76: string(3) "one"
77: [4]=>
78: string(3) "two"
79: }
80: [2]=>
81: array(4) {
82: [0]=>
83: int(1)
84: [1]=>
85: int(2)
86: [2]=>
87: int(3)
88: [3]=>
89: int(1)
90: }
91: }
92: -- With more arguments --
93: array(6) {
94: [0]=>
95: array(4) {
96: [0]=>
97: int(1)
98: [1]=>
99: int(2)
100: [2]=>
101: int(3)
102: [3]=>
103: int(1)
104: }
105: ["array"]=>
106: array(6) {
107: [0]=>
108: string(5) "hello"
109: [1]=>
110: string(5) "world"
111: ["str1"]=>
112: string(5) "hello"
113: ["str2"]=>
114: string(5) "world"
115: [2]=>
116: string(5) "hello"
117: [3]=>
118: string(5) "world"
119: }
120: [1]=>
121: array(4) {
122: [1]=>
123: string(3) "one"
124: [2]=>
125: string(3) "two"
126: [3]=>
127: string(3) "one"
128: [4]=>
129: string(3) "two"
130: }
131: [2]=>
132: array(4) {
133: [0]=>
134: int(1)
135: [1]=>
136: int(2)
137: [2]=>
138: int(3)
139: [3]=>
140: int(1)
141: }
142: [3]=>
143: int(1)
144: [4]=>
145: string(5) "hello"
146: }
147: -- Passing the sub-array --
148: -- With default argument --
149: array(4) {
150: [0]=>
151: string(5) "hello"
152: [1]=>
153: string(5) "world"
154: ["str1"]=>
155: string(5) "hello"
156: ["str2"]=>
157: string(5) "world"
158: }
159: -- With more arguments --
160: array(6) {
161: [0]=>
162: string(5) "hello"
163: [1]=>
164: string(5) "world"
165: ["str1"]=>
166: string(5) "hello"
167: ["str2"]=>
168: string(5) "world"
169: [2]=>
170: string(5) "hello"
171: [3]=>
172: string(5) "world"
173: }
174: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>