1--TEST--
2Test array_merge_recursive() function : basic functionality - array with default 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
10echo "*** Testing array_merge_recursive() : array with default keys ***\n";
11
12// Initialise the arrays
13$arr1 = array(1, array(1, 2));
14$arr2 = array(3, array("hello", 'world'));
15$arr3 = array(array(6, 7), array("str1", 'str2'));
16
17// Calling array_merge_recursive() without arguments
18echo "-- Without arguments --\n";
19var_dump( array_merge_recursive() );
20
21// Calling array_merge_recursive() with default arguments
22echo "-- With default argument --\n";
23var_dump( array_merge_recursive($arr1) );
24
25// Calling array_merge_recursive() with more arguments
26echo "-- With more arguments --\n";
27var_dump( array_merge_recursive($arr1,$arr2) );
28var_dump( array_merge_recursive($arr1,$arr2,$arr3) );
29
30echo "Done";
31?>
32--EXPECT--
33*** Testing array_merge_recursive() : array with default keys ***
34-- Without arguments --
35array(0) {
36}
37-- With default argument --
38array(2) {
39  [0]=>
40  int(1)
41  [1]=>
42  array(2) {
43    [0]=>
44    int(1)
45    [1]=>
46    int(2)
47  }
48}
49-- With more arguments --
50array(4) {
51  [0]=>
52  int(1)
53  [1]=>
54  array(2) {
55    [0]=>
56    int(1)
57    [1]=>
58    int(2)
59  }
60  [2]=>
61  int(3)
62  [3]=>
63  array(2) {
64    [0]=>
65    string(5) "hello"
66    [1]=>
67    string(5) "world"
68  }
69}
70array(6) {
71  [0]=>
72  int(1)
73  [1]=>
74  array(2) {
75    [0]=>
76    int(1)
77    [1]=>
78    int(2)
79  }
80  [2]=>
81  int(3)
82  [3]=>
83  array(2) {
84    [0]=>
85    string(5) "hello"
86    [1]=>
87    string(5) "world"
88  }
89  [4]=>
90  array(2) {
91    [0]=>
92    int(6)
93    [1]=>
94    int(7)
95  }
96  [5]=>
97  array(2) {
98    [0]=>
99    string(4) "str1"
100    [1]=>
101    string(4) "str2"
102  }
103}
104Done
105