Annotation of embedaddon/php/ext/standard/tests/array/array_reverse_variation4.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_reverse() function : usage variations - assoc. array with diff. keys for 'array' argument
3: --FILE--
4: <?php
5: /* Prototype : array array_reverse(array $array [, bool $preserve_keys])
6: * Description: Return input as a new array with the order of the entries reversed
7: * Source code: ext/standard/array.c
8: */
9:
10: /*
11: * Testing the functionality of array_reverse() by giving associative arrays with different
12: * keys for $array argument
13: */
14:
15: echo "*** Testing array_reverse() : usage variations ***\n";
16:
17: //get an unset variable
18: $unset_var = 10;
19: unset ($unset_var);
20:
21: //get a resource variable
22: $fp = fopen(__FILE__, "r");
23:
24: //get a class
25: class classA{
26: public function __toString(){
27: return "Class A object";
28: }
29: }
30:
31: // get a heredoc string
32: $heredoc = <<<EOT
33: Hello world
34: EOT;
35:
36: // initializing the array
37: $arrays = array (
38:
39: // empty array
40: /*1*/ array(),
41:
42: // arrays with integer keys
43: array(0 => "0"),
44: array(1 => "1"),
45: array(1 => "1", 2 => "2", 3 => "3", 4 => "4"),
46:
47: // arrays with float keys
48: /*5*/ array(2.3333 => "float"),
49: array(1.2 => "f1", 3.33 => "f2", 4.89999922839999 => "f3", 33333333.333333 => "f4"),
50:
51: // arrays with string keys
52: array("\tHello" => 111, "re\td" => "color", "\v\fworld" => 2.2, "pen\n" => 33),
53: /*8*/ array("\tHello" => 111, "re\td" => "color", "\v\fworld" => 2.2, "pen\n" => 33),
54: array("hello", $heredoc => "string"), // heredoc
55:
56: // array with object, unset variable and resource variable
57: array(new classA() => 11, @$unset_var => "hello", $fp => 'resource'),
58:
59: // array with mixed values
60: /*11*/ array('hello' => 1, new classA() => 2, "fruit" => 2.2, $fp => 'resource', 133 => "int", 444.432 => "float", @$unset_var => "unset", $heredoc => "heredoc")
61: );
62:
63: // loop through the various elements of $arrays to test array_reverse()
64: $iterator = 1;
65: foreach($arrays as $array) {
66: echo "-- Iteration $iterator --\n";
67: // with default argument
68: echo "- default argument -\n";
69: var_dump( array_reverse($array) );
70: // with $preserve_keys argument
71: echo "- \$preserve keys = true -\n";
72: var_dump( array_reverse($array, true) );
73: echo "- \$preserve_keys = false -\n";
74: var_dump( array_reverse($array, false) );
75: $iterator++;
76: };
77:
78: // close the file resource used
79: fclose($fp);
80:
81: echo "Done";
82: ?>
83: --EXPECTF--
84: *** Testing array_reverse() : usage variations ***
85:
86: Warning: Illegal offset type in %s on line %d
87:
88: Warning: Illegal offset type in %s on line %d
89:
90: Warning: Illegal offset type in %s on line %d
91:
92: Warning: Illegal offset type in %s on line %d
93: -- Iteration 1 --
94: - default argument -
95: array(0) {
96: }
97: - $preserve keys = true -
98: array(0) {
99: }
100: - $preserve_keys = false -
101: array(0) {
102: }
103: -- Iteration 2 --
104: - default argument -
105: array(1) {
106: [0]=>
107: string(1) "0"
108: }
109: - $preserve keys = true -
110: array(1) {
111: [0]=>
112: string(1) "0"
113: }
114: - $preserve_keys = false -
115: array(1) {
116: [0]=>
117: string(1) "0"
118: }
119: -- Iteration 3 --
120: - default argument -
121: array(1) {
122: [0]=>
123: string(1) "1"
124: }
125: - $preserve keys = true -
126: array(1) {
127: [1]=>
128: string(1) "1"
129: }
130: - $preserve_keys = false -
131: array(1) {
132: [0]=>
133: string(1) "1"
134: }
135: -- Iteration 4 --
136: - default argument -
137: array(4) {
138: [0]=>
139: string(1) "4"
140: [1]=>
141: string(1) "3"
142: [2]=>
143: string(1) "2"
144: [3]=>
145: string(1) "1"
146: }
147: - $preserve keys = true -
148: array(4) {
149: [4]=>
150: string(1) "4"
151: [3]=>
152: string(1) "3"
153: [2]=>
154: string(1) "2"
155: [1]=>
156: string(1) "1"
157: }
158: - $preserve_keys = false -
159: array(4) {
160: [0]=>
161: string(1) "4"
162: [1]=>
163: string(1) "3"
164: [2]=>
165: string(1) "2"
166: [3]=>
167: string(1) "1"
168: }
169: -- Iteration 5 --
170: - default argument -
171: array(1) {
172: [0]=>
173: string(5) "float"
174: }
175: - $preserve keys = true -
176: array(1) {
177: [2]=>
178: string(5) "float"
179: }
180: - $preserve_keys = false -
181: array(1) {
182: [0]=>
183: string(5) "float"
184: }
185: -- Iteration 6 --
186: - default argument -
187: array(4) {
188: [0]=>
189: string(2) "f4"
190: [1]=>
191: string(2) "f3"
192: [2]=>
193: string(2) "f2"
194: [3]=>
195: string(2) "f1"
196: }
197: - $preserve keys = true -
198: array(4) {
199: [33333333]=>
200: string(2) "f4"
201: [4]=>
202: string(2) "f3"
203: [3]=>
204: string(2) "f2"
205: [1]=>
206: string(2) "f1"
207: }
208: - $preserve_keys = false -
209: array(4) {
210: [0]=>
211: string(2) "f4"
212: [1]=>
213: string(2) "f3"
214: [2]=>
215: string(2) "f2"
216: [3]=>
217: string(2) "f1"
218: }
219: -- Iteration 7 --
220: - default argument -
221: array(4) {
222: ["pen
223: "]=>
224: int(33)
225: ["world"]=>
226: float(2.2)
227: ["re d"]=>
228: string(5) "color"
229: [" Hello"]=>
230: int(111)
231: }
232: - $preserve keys = true -
233: array(4) {
234: ["pen
235: "]=>
236: int(33)
237: ["world"]=>
238: float(2.2)
239: ["re d"]=>
240: string(5) "color"
241: [" Hello"]=>
242: int(111)
243: }
244: - $preserve_keys = false -
245: array(4) {
246: ["pen
247: "]=>
248: int(33)
249: ["world"]=>
250: float(2.2)
251: ["re d"]=>
252: string(5) "color"
253: [" Hello"]=>
254: int(111)
255: }
256: -- Iteration 8 --
257: - default argument -
258: array(4) {
259: ["pen
260: "]=>
261: int(33)
262: ["world"]=>
263: float(2.2)
264: ["re d"]=>
265: string(5) "color"
266: [" Hello"]=>
267: int(111)
268: }
269: - $preserve keys = true -
270: array(4) {
271: ["pen
272: "]=>
273: int(33)
274: ["world"]=>
275: float(2.2)
276: ["re d"]=>
277: string(5) "color"
278: [" Hello"]=>
279: int(111)
280: }
281: - $preserve_keys = false -
282: array(4) {
283: ["pen
284: "]=>
285: int(33)
286: ["world"]=>
287: float(2.2)
288: ["re d"]=>
289: string(5) "color"
290: [" Hello"]=>
291: int(111)
292: }
293: -- Iteration 9 --
294: - default argument -
295: array(2) {
296: ["Hello world"]=>
297: string(6) "string"
298: [0]=>
299: string(5) "hello"
300: }
301: - $preserve keys = true -
302: array(2) {
303: ["Hello world"]=>
304: string(6) "string"
305: [0]=>
306: string(5) "hello"
307: }
308: - $preserve_keys = false -
309: array(2) {
310: ["Hello world"]=>
311: string(6) "string"
312: [0]=>
313: string(5) "hello"
314: }
315: -- Iteration 10 --
316: - default argument -
317: array(1) {
318: [""]=>
319: string(5) "hello"
320: }
321: - $preserve keys = true -
322: array(1) {
323: [""]=>
324: string(5) "hello"
325: }
326: - $preserve_keys = false -
327: array(1) {
328: [""]=>
329: string(5) "hello"
330: }
331: -- Iteration 11 --
332: - default argument -
333: array(6) {
334: ["Hello world"]=>
335: string(7) "heredoc"
336: [""]=>
337: string(5) "unset"
338: [0]=>
339: string(5) "float"
340: [1]=>
341: string(3) "int"
342: ["fruit"]=>
343: float(2.2)
344: ["hello"]=>
345: int(1)
346: }
347: - $preserve keys = true -
348: array(6) {
349: ["Hello world"]=>
350: string(7) "heredoc"
351: [""]=>
352: string(5) "unset"
353: [444]=>
354: string(5) "float"
355: [133]=>
356: string(3) "int"
357: ["fruit"]=>
358: float(2.2)
359: ["hello"]=>
360: int(1)
361: }
362: - $preserve_keys = false -
363: array(6) {
364: ["Hello world"]=>
365: string(7) "heredoc"
366: [""]=>
367: string(5) "unset"
368: [0]=>
369: string(5) "float"
370: [1]=>
371: string(3) "int"
372: ["fruit"]=>
373: float(2.2)
374: ["hello"]=>
375: int(1)
376: }
377: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>