Annotation of embedaddon/php/ext/standard/tests/array/array_merge_recursive_variation6.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_merge_recursive() function : usage variations - array with duplicate keys
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: * array having duplicate keys.
13: */
14:
15: echo "*** Testing array_merge_recursive() : array with duplicate keys for \$arr1 argument ***\n";
16:
17: /* initialize the array having duplicate keys */
18: // array with numeric keys
19: $arr1_numeric_key = array( 1 => "one", 2 => "two", 2 => array(1, 2), 3 => "three", 1 => array("duplicate", 'strings'));
20: // array with string keys
21: $arr1_string_key = array("str1" => "hello", "str2" => 111, "str1" => "world", "str2" => 111.111);
22:
23: // initialize the second argument
24: $arr2 = array("one", "str1" => "two", array("one", "two"));
25:
26: echo "-- With default argument --\n";
27: var_dump( array_merge_recursive($arr1_numeric_key) );
28: var_dump( array_merge_recursive($arr1_string_key) );
29:
30: echo "-- With more arguments --\n";
31: var_dump( array_merge_recursive($arr1_numeric_key, $arr2) );
32: var_dump( array_merge_recursive($arr1_string_key, $arr2) );
33:
34: echo "Done";
35: ?>
36: --EXPECTF--
37: *** Testing array_merge_recursive() : array with duplicate keys for $arr1 argument ***
38: -- With default argument --
39: array(3) {
40: [0]=>
41: array(2) {
42: [0]=>
43: string(9) "duplicate"
44: [1]=>
45: string(7) "strings"
46: }
47: [1]=>
48: array(2) {
49: [0]=>
50: int(1)
51: [1]=>
52: int(2)
53: }
54: [2]=>
55: string(5) "three"
56: }
57: array(2) {
58: ["str1"]=>
59: string(5) "world"
60: ["str2"]=>
61: float(111.111)
62: }
63: -- With more arguments --
64: array(6) {
65: [0]=>
66: array(2) {
67: [0]=>
68: string(9) "duplicate"
69: [1]=>
70: string(7) "strings"
71: }
72: [1]=>
73: array(2) {
74: [0]=>
75: int(1)
76: [1]=>
77: int(2)
78: }
79: [2]=>
80: string(5) "three"
81: [3]=>
82: string(3) "one"
83: ["str1"]=>
84: string(3) "two"
85: [4]=>
86: array(2) {
87: [0]=>
88: string(3) "one"
89: [1]=>
90: string(3) "two"
91: }
92: }
93: array(4) {
94: ["str1"]=>
95: array(2) {
96: [0]=>
97: string(5) "world"
98: [1]=>
99: string(3) "two"
100: }
101: ["str2"]=>
102: float(111.111)
103: [0]=>
104: string(3) "one"
105: [1]=>
106: array(2) {
107: [0]=>
108: string(3) "one"
109: [1]=>
110: string(3) "two"
111: }
112: }
113: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>