Annotation of embedaddon/php/ext/standard/tests/array/array_merge_variation9.phpt, revision 1.1.1.2
1.1 misho 1: --TEST--
2: Test array_merge() function : usage variations - referenced variables
3: --FILE--
4: <?php
5: /* Prototype : array array_merge(array $arr1, array $arr2 [, array $...])
6: * Description: Merges elements from passed arrays into one array
7: * Source code: ext/standard/array.c
8: */
9:
10: /* Test array_merge() when:
11: * 1. Passed an array made up of referenced variables
12: * 2. Passed an array as the first argument and a reference to that array as the second.
13: */
14:
15: echo "*** Testing array_merge() : usage variations ***\n";
16:
17: $val1 = 'foo';
18: $val2 = 'bar';
19: $val3 = 'baz';
20:
21: $arr1 = array(&$val1, &$val2, &$val3);
22: $arr2 = array('key1' => 'val1', 'key2' => 'val2', 'key3' => 'val3');
23:
24: echo "\n-- Merge an array made up of referenced variables to an assoc. array --\n";
25: var_dump(array_merge($arr1, $arr2));
26: var_dump(array_merge($arr2, $arr1));
27:
28: $val2 = 'hello world';
29:
30: echo "\n-- Change \$val2 --\n";
31: var_dump(array_merge($arr1, $arr2));
32: var_dump(array_merge($arr2, $arr1));
33:
34: echo "Done";
35: ?>
36:
37: --EXPECTF--
38: *** Testing array_merge() : usage variations ***
39:
40: -- Merge an array made up of referenced variables to an assoc. array --
41: array(6) {
42: [0]=>
43: &string(3) "foo"
44: [1]=>
45: &string(3) "bar"
46: [2]=>
47: &string(3) "baz"
48: ["key1"]=>
49: string(4) "val1"
50: ["key2"]=>
51: string(4) "val2"
52: ["key3"]=>
53: string(4) "val3"
54: }
55: array(6) {
56: ["key1"]=>
57: string(4) "val1"
58: ["key2"]=>
59: string(4) "val2"
60: ["key3"]=>
61: string(4) "val3"
62: [0]=>
63: &string(3) "foo"
64: [1]=>
65: &string(3) "bar"
66: [2]=>
67: &string(3) "baz"
68: }
69:
70: -- Change $val2 --
71: array(6) {
72: [0]=>
73: &string(3) "foo"
74: [1]=>
75: &string(11) "hello world"
76: [2]=>
77: &string(3) "baz"
78: ["key1"]=>
79: string(4) "val1"
80: ["key2"]=>
81: string(4) "val2"
82: ["key3"]=>
83: string(4) "val3"
84: }
85: array(6) {
86: ["key1"]=>
87: string(4) "val1"
88: ["key2"]=>
89: string(4) "val2"
90: ["key3"]=>
91: string(4) "val3"
92: [0]=>
93: &string(3) "foo"
94: [1]=>
95: &string(11) "hello world"
96: [2]=>
97: &string(3) "baz"
98: }
99: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>