Annotation of embedaddon/php/ext/standard/tests/array/001.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_merge and array_walk
3: --INI--
4: precision=14
5: --FILE--
6: <?php
7: require(dirname(__FILE__) . '/data.inc');
8: /*
9: ** Create sample arrays
10: ** Test alpha, numeric (decimal, hex, octal) and special data
11: **
12: **
13: */
14:
15: /* Helper function to build testing arrays */
16: function make_nested_array ($depth, $breadth, $function = NULL, $args = array ()) {
17: for ($x = 0; $x < $breadth; ++$x) {
18: if (NULL === $function) {
19: $array = array (0);
20: } else {
21: $array = array (call_user_func_array ($function, $args));
22: }
23: for ($y = 1; $y < $depth; ++$y) {
24: $array[0] = array ($array[0]);
25: }
26: $temp[$x] = $array;
27: }
28: return $temp;
29: }
30:
31: /* Nested array */
32: $data2 = make_nested_array (3, 3);
33: $data = array_merge($data, $data2);
34:
35: var_dump ($data);
36:
37: function echo_kv ($value, $key) {
38: var_dump ($key);
39: var_dump ($value);
40: }
41:
42: echo " -- Testing array_walk() -- \n";
43: array_walk ($data, 'echo_kv');
44:
45: ?>
46: --EXPECT--
47: array(11) {
48: [0]=>
49: string(3) "PHP"
50: [1]=>
51: string(27) "PHP: Hypertext Preprocessor"
52: [2]=>
53: string(4) "Test"
54: ["test"]=>
55: int(27)
56: [3]=>
57: string(4) "test"
58: [4]=>
59: array(2) {
60: [0]=>
61: string(6) "banana"
62: [1]=>
63: string(6) "orange"
64: }
65: [5]=>
66: string(6) "monkey"
67: [6]=>
68: float(-0.33333333333333)
69: [7]=>
70: array(1) {
71: [0]=>
72: array(1) {
73: [0]=>
74: array(1) {
75: [0]=>
76: int(0)
77: }
78: }
79: }
80: [8]=>
81: array(1) {
82: [0]=>
83: array(1) {
84: [0]=>
85: array(1) {
86: [0]=>
87: int(0)
88: }
89: }
90: }
91: [9]=>
92: array(1) {
93: [0]=>
94: array(1) {
95: [0]=>
96: array(1) {
97: [0]=>
98: int(0)
99: }
100: }
101: }
102: }
103: -- Testing array_walk() --
104: int(0)
105: string(3) "PHP"
106: int(1)
107: string(27) "PHP: Hypertext Preprocessor"
108: int(2)
109: string(4) "Test"
110: string(4) "test"
111: int(27)
112: int(3)
113: string(4) "test"
114: int(4)
115: array(2) {
116: [0]=>
117: string(6) "banana"
118: [1]=>
119: string(6) "orange"
120: }
121: int(5)
122: string(6) "monkey"
123: int(6)
124: float(-0.33333333333333)
125: int(7)
126: array(1) {
127: [0]=>
128: array(1) {
129: [0]=>
130: array(1) {
131: [0]=>
132: int(0)
133: }
134: }
135: }
136: int(8)
137: array(1) {
138: [0]=>
139: array(1) {
140: [0]=>
141: array(1) {
142: [0]=>
143: int(0)
144: }
145: }
146: }
147: int(9)
148: array(1) {
149: [0]=>
150: array(1) {
151: [0]=>
152: array(1) {
153: [0]=>
154: int(0)
155: }
156: }
157: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>