Annotation of embedaddon/php/ext/standard/tests/array/array_reverse_variation3.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_reverse() function : usage variations - different array values 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
12: * different array values 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: {
27: public function __toString(){
28: return "Class A object";
29: }
30: }
31:
32: // get a heredoc string
33: $heredoc = <<<EOT
34: Hello world
35: EOT;
36:
37: $arrays = array (
38: /*1*/ array(1, 2), // array with default keys and numeric values
39: array(1.1, 2.2), // array with default keys & float values
40: array( array(2), array(1)), // sub arrays
41: array(false,true), // array with default keys and boolean values
42: array(), // empty array
43: array(NULL), // array with NULL
44: array("a","aaaa","b","bbbb","c","ccccc"),
45:
46: // associative arrays
47: /*8*/ array(1 => "one", 2 => "two", 3 => "three"), // explicit numeric keys, string values
48: array("one" => 1, "two" => 2, "three" => 3 ), // string keys & numeric values
49: array( 1 => 10, 2 => 20, 4 => 40, 3 => 30), // explicit numeric keys and numeric values
50: array( "one" => "ten", "two" => "twenty", "three" => "thirty"), // string key/value
51: array("one" => 1, 2 => "two", 4 => "four"), //mixed
52:
53: // associative array, containing null/empty/boolean values as key/value
54: /*13*/ array(NULL => "NULL", null => "null", "NULL" => NULL, "null" => null),
55: array(true => "true", false => "false", "false" => false, "true" => true),
56: array("" => "emptyd", '' => 'emptys', "emptyd" => "", 'emptys' => ''),
57: array(1 => '', 2 => "", 3 => NULL, 4 => null, 5 => false, 6 => true),
58: array('' => 1, "" => 2, NULL => 3, null => 4, false => 5, true => 6),
59:
60: // array with repetative keys
61: /*18*/ array("One" => 1, "two" => 2, "One" => 10, "two" => 20, "three" => 3)
62: );
63:
64: // loop through the various elements of $arrays to test array_reverse()
65: $iterator = 1;
66: foreach($arrays as $array) {
67: echo "-- Iteration $iterator --\n";
68: // with default argument
69: echo "- with default argument -\n";
70: var_dump( array_reverse($array) );
71: // with all possible arguments
72: echo "- with \$preserve keys = true -\n";
73: var_dump( array_reverse($array, true) );
74: echo "- with \$preserve_keys = false -\n";
75: var_dump( array_reverse($array, false) );
76: $iterator++;
77: };
78:
79: // close the file resource used
80: fclose($fp);
81:
82: echo "Done";
83: ?>
84: --EXPECTF--
85: *** Testing array_reverse() : usage variations ***
86: -- Iteration 1 --
87: - with default argument -
88: array(2) {
89: [0]=>
90: int(2)
91: [1]=>
92: int(1)
93: }
94: - with $preserve keys = true -
95: array(2) {
96: [1]=>
97: int(2)
98: [0]=>
99: int(1)
100: }
101: - with $preserve_keys = false -
102: array(2) {
103: [0]=>
104: int(2)
105: [1]=>
106: int(1)
107: }
108: -- Iteration 2 --
109: - with default argument -
110: array(2) {
111: [0]=>
112: float(2.2)
113: [1]=>
114: float(1.1)
115: }
116: - with $preserve keys = true -
117: array(2) {
118: [1]=>
119: float(2.2)
120: [0]=>
121: float(1.1)
122: }
123: - with $preserve_keys = false -
124: array(2) {
125: [0]=>
126: float(2.2)
127: [1]=>
128: float(1.1)
129: }
130: -- Iteration 3 --
131: - with default argument -
132: array(2) {
133: [0]=>
134: array(1) {
135: [0]=>
136: int(1)
137: }
138: [1]=>
139: array(1) {
140: [0]=>
141: int(2)
142: }
143: }
144: - with $preserve keys = true -
145: array(2) {
146: [1]=>
147: array(1) {
148: [0]=>
149: int(1)
150: }
151: [0]=>
152: array(1) {
153: [0]=>
154: int(2)
155: }
156: }
157: - with $preserve_keys = false -
158: array(2) {
159: [0]=>
160: array(1) {
161: [0]=>
162: int(1)
163: }
164: [1]=>
165: array(1) {
166: [0]=>
167: int(2)
168: }
169: }
170: -- Iteration 4 --
171: - with default argument -
172: array(2) {
173: [0]=>
174: bool(true)
175: [1]=>
176: bool(false)
177: }
178: - with $preserve keys = true -
179: array(2) {
180: [1]=>
181: bool(true)
182: [0]=>
183: bool(false)
184: }
185: - with $preserve_keys = false -
186: array(2) {
187: [0]=>
188: bool(true)
189: [1]=>
190: bool(false)
191: }
192: -- Iteration 5 --
193: - with default argument -
194: array(0) {
195: }
196: - with $preserve keys = true -
197: array(0) {
198: }
199: - with $preserve_keys = false -
200: array(0) {
201: }
202: -- Iteration 6 --
203: - with default argument -
204: array(1) {
205: [0]=>
206: NULL
207: }
208: - with $preserve keys = true -
209: array(1) {
210: [0]=>
211: NULL
212: }
213: - with $preserve_keys = false -
214: array(1) {
215: [0]=>
216: NULL
217: }
218: -- Iteration 7 --
219: - with default argument -
220: array(6) {
221: [0]=>
222: string(5) "ccccc"
223: [1]=>
224: string(1) "c"
225: [2]=>
226: string(4) "bbbb"
227: [3]=>
228: string(1) "b"
229: [4]=>
230: string(4) "aaaa"
231: [5]=>
232: string(1) "a"
233: }
234: - with $preserve keys = true -
235: array(6) {
236: [5]=>
237: string(5) "ccccc"
238: [4]=>
239: string(1) "c"
240: [3]=>
241: string(4) "bbbb"
242: [2]=>
243: string(1) "b"
244: [1]=>
245: string(4) "aaaa"
246: [0]=>
247: string(1) "a"
248: }
249: - with $preserve_keys = false -
250: array(6) {
251: [0]=>
252: string(5) "ccccc"
253: [1]=>
254: string(1) "c"
255: [2]=>
256: string(4) "bbbb"
257: [3]=>
258: string(1) "b"
259: [4]=>
260: string(4) "aaaa"
261: [5]=>
262: string(1) "a"
263: }
264: -- Iteration 8 --
265: - with default argument -
266: array(3) {
267: [0]=>
268: string(5) "three"
269: [1]=>
270: string(3) "two"
271: [2]=>
272: string(3) "one"
273: }
274: - with $preserve keys = true -
275: array(3) {
276: [3]=>
277: string(5) "three"
278: [2]=>
279: string(3) "two"
280: [1]=>
281: string(3) "one"
282: }
283: - with $preserve_keys = false -
284: array(3) {
285: [0]=>
286: string(5) "three"
287: [1]=>
288: string(3) "two"
289: [2]=>
290: string(3) "one"
291: }
292: -- Iteration 9 --
293: - with default argument -
294: array(3) {
295: ["three"]=>
296: int(3)
297: ["two"]=>
298: int(2)
299: ["one"]=>
300: int(1)
301: }
302: - with $preserve keys = true -
303: array(3) {
304: ["three"]=>
305: int(3)
306: ["two"]=>
307: int(2)
308: ["one"]=>
309: int(1)
310: }
311: - with $preserve_keys = false -
312: array(3) {
313: ["three"]=>
314: int(3)
315: ["two"]=>
316: int(2)
317: ["one"]=>
318: int(1)
319: }
320: -- Iteration 10 --
321: - with default argument -
322: array(4) {
323: [0]=>
324: int(30)
325: [1]=>
326: int(40)
327: [2]=>
328: int(20)
329: [3]=>
330: int(10)
331: }
332: - with $preserve keys = true -
333: array(4) {
334: [3]=>
335: int(30)
336: [4]=>
337: int(40)
338: [2]=>
339: int(20)
340: [1]=>
341: int(10)
342: }
343: - with $preserve_keys = false -
344: array(4) {
345: [0]=>
346: int(30)
347: [1]=>
348: int(40)
349: [2]=>
350: int(20)
351: [3]=>
352: int(10)
353: }
354: -- Iteration 11 --
355: - with default argument -
356: array(3) {
357: ["three"]=>
358: string(6) "thirty"
359: ["two"]=>
360: string(6) "twenty"
361: ["one"]=>
362: string(3) "ten"
363: }
364: - with $preserve keys = true -
365: array(3) {
366: ["three"]=>
367: string(6) "thirty"
368: ["two"]=>
369: string(6) "twenty"
370: ["one"]=>
371: string(3) "ten"
372: }
373: - with $preserve_keys = false -
374: array(3) {
375: ["three"]=>
376: string(6) "thirty"
377: ["two"]=>
378: string(6) "twenty"
379: ["one"]=>
380: string(3) "ten"
381: }
382: -- Iteration 12 --
383: - with default argument -
384: array(3) {
385: [0]=>
386: string(4) "four"
387: [1]=>
388: string(3) "two"
389: ["one"]=>
390: int(1)
391: }
392: - with $preserve keys = true -
393: array(3) {
394: [4]=>
395: string(4) "four"
396: [2]=>
397: string(3) "two"
398: ["one"]=>
399: int(1)
400: }
401: - with $preserve_keys = false -
402: array(3) {
403: [0]=>
404: string(4) "four"
405: [1]=>
406: string(3) "two"
407: ["one"]=>
408: int(1)
409: }
410: -- Iteration 13 --
411: - with default argument -
412: array(3) {
413: ["null"]=>
414: NULL
415: ["NULL"]=>
416: NULL
417: [""]=>
418: string(4) "null"
419: }
420: - with $preserve keys = true -
421: array(3) {
422: ["null"]=>
423: NULL
424: ["NULL"]=>
425: NULL
426: [""]=>
427: string(4) "null"
428: }
429: - with $preserve_keys = false -
430: array(3) {
431: ["null"]=>
432: NULL
433: ["NULL"]=>
434: NULL
435: [""]=>
436: string(4) "null"
437: }
438: -- Iteration 14 --
439: - with default argument -
440: array(4) {
441: ["true"]=>
442: bool(true)
443: ["false"]=>
444: bool(false)
445: [0]=>
446: string(5) "false"
447: [1]=>
448: string(4) "true"
449: }
450: - with $preserve keys = true -
451: array(4) {
452: ["true"]=>
453: bool(true)
454: ["false"]=>
455: bool(false)
456: [0]=>
457: string(5) "false"
458: [1]=>
459: string(4) "true"
460: }
461: - with $preserve_keys = false -
462: array(4) {
463: ["true"]=>
464: bool(true)
465: ["false"]=>
466: bool(false)
467: [0]=>
468: string(5) "false"
469: [1]=>
470: string(4) "true"
471: }
472: -- Iteration 15 --
473: - with default argument -
474: array(3) {
475: ["emptys"]=>
476: string(0) ""
477: ["emptyd"]=>
478: string(0) ""
479: [""]=>
480: string(6) "emptys"
481: }
482: - with $preserve keys = true -
483: array(3) {
484: ["emptys"]=>
485: string(0) ""
486: ["emptyd"]=>
487: string(0) ""
488: [""]=>
489: string(6) "emptys"
490: }
491: - with $preserve_keys = false -
492: array(3) {
493: ["emptys"]=>
494: string(0) ""
495: ["emptyd"]=>
496: string(0) ""
497: [""]=>
498: string(6) "emptys"
499: }
500: -- Iteration 16 --
501: - with default argument -
502: array(6) {
503: [0]=>
504: bool(true)
505: [1]=>
506: bool(false)
507: [2]=>
508: NULL
509: [3]=>
510: NULL
511: [4]=>
512: string(0) ""
513: [5]=>
514: string(0) ""
515: }
516: - with $preserve keys = true -
517: array(6) {
518: [6]=>
519: bool(true)
520: [5]=>
521: bool(false)
522: [4]=>
523: NULL
524: [3]=>
525: NULL
526: [2]=>
527: string(0) ""
528: [1]=>
529: string(0) ""
530: }
531: - with $preserve_keys = false -
532: array(6) {
533: [0]=>
534: bool(true)
535: [1]=>
536: bool(false)
537: [2]=>
538: NULL
539: [3]=>
540: NULL
541: [4]=>
542: string(0) ""
543: [5]=>
544: string(0) ""
545: }
546: -- Iteration 17 --
547: - with default argument -
548: array(3) {
549: [0]=>
550: int(6)
551: [1]=>
552: int(5)
553: [""]=>
554: int(4)
555: }
556: - with $preserve keys = true -
557: array(3) {
558: [1]=>
559: int(6)
560: [0]=>
561: int(5)
562: [""]=>
563: int(4)
564: }
565: - with $preserve_keys = false -
566: array(3) {
567: [0]=>
568: int(6)
569: [1]=>
570: int(5)
571: [""]=>
572: int(4)
573: }
574: -- Iteration 18 --
575: - with default argument -
576: array(3) {
577: ["three"]=>
578: int(3)
579: ["two"]=>
580: int(20)
581: ["One"]=>
582: int(10)
583: }
584: - with $preserve keys = true -
585: array(3) {
586: ["three"]=>
587: int(3)
588: ["two"]=>
589: int(20)
590: ["One"]=>
591: int(10)
592: }
593: - with $preserve_keys = false -
594: array(3) {
595: ["three"]=>
596: int(3)
597: ["two"]=>
598: int(20)
599: ["One"]=>
600: int(10)
601: }
602: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>