Annotation of embedaddon/php/ext/standard/tests/array/array_reverse_variation2.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_reverse() function : usage variations - unexpected values for 'preserve_keys' 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 unexpected values for $preserve_keys argument
12: */
13:
14: echo "*** Testing array_reverse() : usage variations ***\n";
15:
16: // Initialise the array
17: $array = array("a" => "green", "red", "blue", "red", "orange", "pink");
18:
19: //get an unset variable
20: $unset_var = 10;
21: unset ($unset_var);
22:
23: //get a resource variable
24: $fp = fopen(__FILE__, "r");
25:
26: //get a class
27: class classA
28: {
29: public function __toString(){
30: return "Class A object";
31: }
32: }
33:
34: //array of values to iterate over
35: $preserve_keys = array (
36:
37: // int data
38: /*1*/ 0,
39: 1,
40: 12345,
41: -2345,
42:
43: // float data
44: /*5*/ 10.5,
45: -10.5,
46: 10.5e10,
47: 10.6E-10,
48: .5,
49:
50: // array data
51: /*10*/ array(),
52: array(0),
53: array(1),
54: array(1, 2),
55: array('color' => 'red', 'item' => 'pen'),
56:
57: // null data
58: /*15*/ NULL,
59: null,
60:
61: // boolean data
62: true,
63: false,
64: TRUE,
65: FALSE,
66:
67: // empty data
68: /*21*/
69: "",
70: '',
71:
72: // object data
73: new classA(),
74:
75: // undefined data
76: @$undefined_var,
77:
78: // unset data
79: @$unset_var,
80:
81: // resource variable
82: /*26*/ $fp
83:
84: );
85:
86: // loop through each element of the array $preserve_keys to check the behavior of array_reverse()
87: $iterator = 1;
88: foreach($preserve_keys as $preserve_key) {
89: echo "-- Iteration $iterator --\n";
90: var_dump( array_reverse($array, $preserve_key) );
91: $iterator++;
92: };
93:
94: // close the file resouce used
95: fclose($fp);
96:
97: echo "Done";
98: ?>
99: --EXPECTF--
100: *** Testing array_reverse() : usage variations ***
101: -- Iteration 1 --
102: array(6) {
103: [0]=>
104: string(4) "pink"
105: [1]=>
106: string(6) "orange"
107: [2]=>
108: string(3) "red"
109: [3]=>
110: string(4) "blue"
111: [4]=>
112: string(3) "red"
113: ["a"]=>
114: string(5) "green"
115: }
116: -- Iteration 2 --
117: array(6) {
118: [4]=>
119: string(4) "pink"
120: [3]=>
121: string(6) "orange"
122: [2]=>
123: string(3) "red"
124: [1]=>
125: string(4) "blue"
126: [0]=>
127: string(3) "red"
128: ["a"]=>
129: string(5) "green"
130: }
131: -- Iteration 3 --
132: array(6) {
133: [4]=>
134: string(4) "pink"
135: [3]=>
136: string(6) "orange"
137: [2]=>
138: string(3) "red"
139: [1]=>
140: string(4) "blue"
141: [0]=>
142: string(3) "red"
143: ["a"]=>
144: string(5) "green"
145: }
146: -- Iteration 4 --
147: array(6) {
148: [4]=>
149: string(4) "pink"
150: [3]=>
151: string(6) "orange"
152: [2]=>
153: string(3) "red"
154: [1]=>
155: string(4) "blue"
156: [0]=>
157: string(3) "red"
158: ["a"]=>
159: string(5) "green"
160: }
161: -- Iteration 5 --
162: array(6) {
163: [4]=>
164: string(4) "pink"
165: [3]=>
166: string(6) "orange"
167: [2]=>
168: string(3) "red"
169: [1]=>
170: string(4) "blue"
171: [0]=>
172: string(3) "red"
173: ["a"]=>
174: string(5) "green"
175: }
176: -- Iteration 6 --
177: array(6) {
178: [4]=>
179: string(4) "pink"
180: [3]=>
181: string(6) "orange"
182: [2]=>
183: string(3) "red"
184: [1]=>
185: string(4) "blue"
186: [0]=>
187: string(3) "red"
188: ["a"]=>
189: string(5) "green"
190: }
191: -- Iteration 7 --
192: array(6) {
193: [4]=>
194: string(4) "pink"
195: [3]=>
196: string(6) "orange"
197: [2]=>
198: string(3) "red"
199: [1]=>
200: string(4) "blue"
201: [0]=>
202: string(3) "red"
203: ["a"]=>
204: string(5) "green"
205: }
206: -- Iteration 8 --
207: array(6) {
208: [4]=>
209: string(4) "pink"
210: [3]=>
211: string(6) "orange"
212: [2]=>
213: string(3) "red"
214: [1]=>
215: string(4) "blue"
216: [0]=>
217: string(3) "red"
218: ["a"]=>
219: string(5) "green"
220: }
221: -- Iteration 9 --
222: array(6) {
223: [4]=>
224: string(4) "pink"
225: [3]=>
226: string(6) "orange"
227: [2]=>
228: string(3) "red"
229: [1]=>
230: string(4) "blue"
231: [0]=>
232: string(3) "red"
233: ["a"]=>
234: string(5) "green"
235: }
236: -- Iteration 10 --
237:
238: Warning: array_reverse() expects parameter 2 to be boolean, array given in %s on line %d
239: NULL
240: -- Iteration 11 --
241:
242: Warning: array_reverse() expects parameter 2 to be boolean, array given in %s on line %d
243: NULL
244: -- Iteration 12 --
245:
246: Warning: array_reverse() expects parameter 2 to be boolean, array given in %s on line %d
247: NULL
248: -- Iteration 13 --
249:
250: Warning: array_reverse() expects parameter 2 to be boolean, array given in %s on line %d
251: NULL
252: -- Iteration 14 --
253:
254: Warning: array_reverse() expects parameter 2 to be boolean, array given in %s on line %d
255: NULL
256: -- Iteration 15 --
257: array(6) {
258: [0]=>
259: string(4) "pink"
260: [1]=>
261: string(6) "orange"
262: [2]=>
263: string(3) "red"
264: [3]=>
265: string(4) "blue"
266: [4]=>
267: string(3) "red"
268: ["a"]=>
269: string(5) "green"
270: }
271: -- Iteration 16 --
272: array(6) {
273: [0]=>
274: string(4) "pink"
275: [1]=>
276: string(6) "orange"
277: [2]=>
278: string(3) "red"
279: [3]=>
280: string(4) "blue"
281: [4]=>
282: string(3) "red"
283: ["a"]=>
284: string(5) "green"
285: }
286: -- Iteration 17 --
287: array(6) {
288: [4]=>
289: string(4) "pink"
290: [3]=>
291: string(6) "orange"
292: [2]=>
293: string(3) "red"
294: [1]=>
295: string(4) "blue"
296: [0]=>
297: string(3) "red"
298: ["a"]=>
299: string(5) "green"
300: }
301: -- Iteration 18 --
302: array(6) {
303: [0]=>
304: string(4) "pink"
305: [1]=>
306: string(6) "orange"
307: [2]=>
308: string(3) "red"
309: [3]=>
310: string(4) "blue"
311: [4]=>
312: string(3) "red"
313: ["a"]=>
314: string(5) "green"
315: }
316: -- Iteration 19 --
317: array(6) {
318: [4]=>
319: string(4) "pink"
320: [3]=>
321: string(6) "orange"
322: [2]=>
323: string(3) "red"
324: [1]=>
325: string(4) "blue"
326: [0]=>
327: string(3) "red"
328: ["a"]=>
329: string(5) "green"
330: }
331: -- Iteration 20 --
332: array(6) {
333: [0]=>
334: string(4) "pink"
335: [1]=>
336: string(6) "orange"
337: [2]=>
338: string(3) "red"
339: [3]=>
340: string(4) "blue"
341: [4]=>
342: string(3) "red"
343: ["a"]=>
344: string(5) "green"
345: }
346: -- Iteration 21 --
347: array(6) {
348: [0]=>
349: string(4) "pink"
350: [1]=>
351: string(6) "orange"
352: [2]=>
353: string(3) "red"
354: [3]=>
355: string(4) "blue"
356: [4]=>
357: string(3) "red"
358: ["a"]=>
359: string(5) "green"
360: }
361: -- Iteration 22 --
362: array(6) {
363: [0]=>
364: string(4) "pink"
365: [1]=>
366: string(6) "orange"
367: [2]=>
368: string(3) "red"
369: [3]=>
370: string(4) "blue"
371: [4]=>
372: string(3) "red"
373: ["a"]=>
374: string(5) "green"
375: }
376: -- Iteration 23 --
377:
378: Warning: array_reverse() expects parameter 2 to be boolean, object given in %s on line %d
379: NULL
380: -- Iteration 24 --
381: array(6) {
382: [0]=>
383: string(4) "pink"
384: [1]=>
385: string(6) "orange"
386: [2]=>
387: string(3) "red"
388: [3]=>
389: string(4) "blue"
390: [4]=>
391: string(3) "red"
392: ["a"]=>
393: string(5) "green"
394: }
395: -- Iteration 25 --
396: array(6) {
397: [0]=>
398: string(4) "pink"
399: [1]=>
400: string(6) "orange"
401: [2]=>
402: string(3) "red"
403: [3]=>
404: string(4) "blue"
405: [4]=>
406: string(3) "red"
407: ["a"]=>
408: string(5) "green"
409: }
410: -- Iteration 26 --
411:
412: Warning: array_reverse() expects parameter 2 to be boolean, resource given in %s on line %d
413: NULL
414: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>