Annotation of embedaddon/php/ext/standard/tests/array/shuffle_variation4.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test shuffle() function : usage variation - associative arrays with diff types of values
3: --FILE--
4: <?php
5: /* Prototype : bool shuffle(array $array_arg)
6: * Description: Randomly shuffle the contents of an array
7: * Source code: ext/standard/array.c
8: */
9:
10: /*
11: * Test behaviour of shuffle() function when associative arrays
12: * having different types of values, are passed to 'array_arg' argument
13: */
14:
15: echo "*** Testing shuffle() : associative arrays with diff types of values ***\n";
16:
17: // initialise different arrays
18: $array_arg = array(
19: // array with positive int values
20: /*1*/ array("zero" => 0, 1 => 1, "two" => 2, "max_int" => 2147483647 ),
21:
22: // array with negative int values
23: array("minus_one" => -1, 'minus_two' => -2, "min_int" => -2147483647 ),
24:
25: // array with positive float values
26: /*3*/ array("float1" => 0.23, 'float2' => 1.34, "exp1" => 0e2, 'exp2' => 200e-2, "exp3" => 10e0),
27:
28: // array with negative float values
29: array(-0.23 => -0.23, -1.34 => -1.34, -200e-2 => -200e-2, -30 => -30e0, -2147473649.80),
30:
31: // array with single and double quoted strings
32: /*5*/ array('1' => 'one', "str1" => "123numbers", '' => 'hello\tworld', "" => "hello world\0", "12.34floatnum"),
33:
34: // array with bool values
35: array('1' => TRUE, "1" => TRUE, "0" => FALSE, '0' => FALSE),
36:
37: // array with positive hexa values
38: /*7*/ array("hex1" => 0x123, 'hex2' => 0xabc, "hex\t3" => 0xABC, "hex\04" => 0xAb1),
39:
40: // array with negative hexa values
41: array(NULL => -0x123, "NULL" => -0xabc, "-ABC" => -0xABC, -0xAB1 => -0xAb1),
42:
43: // array with positive octal values
44: /*9*/ array(0123 => 0123, "02348" => 02348, '034' => 034, 00 => 00),
45:
46: // array with negative octal values
47: array(-0123 => -0123, "-02348" => -02348, '-034' => -034),
48:
49: // array with null values
50: /*11*/ array(NULL => NULL, "null" => NULL, "NULL" => NULL)
51:
52: );
53:
54: // looping to test shuffle() with each sub-array in the $array_arg array
55: echo "\n*** Testing shuffle() with arrays having different types of values ***\n";
56: $counter = 1;
57: foreach($array_arg as $arr) {
58: echo "\n-- Iteration $counter --\n";
59: var_dump( shuffle($arr) );
60: echo "\nThe output array is:\n";
61: var_dump( $arr );
62: $counter++;
63: }
64:
65: echo "Done";
66: ?>
67: --EXPECTF--
68: *** Testing shuffle() : associative arrays with diff types of values ***
69:
70: *** Testing shuffle() with arrays having different types of values ***
71:
72: -- Iteration 1 --
73: bool(true)
74:
75: The output array is:
76: array(4) {
77: [0]=>
78: int(%d)
79: [1]=>
80: int(%d)
81: [2]=>
82: int(%d)
83: [3]=>
84: int(%d)
85: }
86:
87: -- Iteration 2 --
88: bool(true)
89:
90: The output array is:
91: array(3) {
92: [0]=>
93: int(-%d)
94: [1]=>
95: int(-%d)
96: [2]=>
97: int(-%d)
98: }
99:
100: -- Iteration 3 --
101: bool(true)
102:
103: The output array is:
104: array(5) {
105: [0]=>
106: float(%f)
107: [1]=>
108: float(%f)
109: [2]=>
110: float(%f)
111: [3]=>
112: float(%f)
113: [4]=>
114: float(%f)
115: }
116:
117: -- Iteration 4 --
118: bool(true)
119:
120: The output array is:
121: array(5) {
122: [0]=>
123: float(-%f)
124: [1]=>
125: float(-%f)
126: [2]=>
127: float(-%f)
128: [3]=>
129: float(-%f)
130: [4]=>
131: float(-%f)
132: }
133:
134: -- Iteration 5 --
135: bool(true)
136:
137: The output array is:
138: array(4) {
139: [0]=>
140: string(%d) "%s"
141: [1]=>
142: string(%d) "%s"
143: [2]=>
144: string(%d) "%s"
145: [3]=>
146: string(%d) "%s"
147: }
148:
149: -- Iteration 6 --
150: bool(true)
151:
152: The output array is:
153: array(2) {
154: [0]=>
155: bool(%s)
156: [1]=>
157: bool(%s)
158: }
159:
160: -- Iteration 7 --
161: bool(true)
162:
163: The output array is:
164: array(4) {
165: [0]=>
166: int(%d)
167: [1]=>
168: int(%d)
169: [2]=>
170: int(%d)
171: [3]=>
172: int(%d)
173: }
174:
175: -- Iteration 8 --
176: bool(true)
177:
178: The output array is:
179: array(4) {
180: [0]=>
181: int(-%d)
182: [1]=>
183: int(-%d)
184: [2]=>
185: int(-%d)
186: [3]=>
187: int(-%d)
188: }
189:
190: -- Iteration 9 --
191: bool(true)
192:
193: The output array is:
194: array(4) {
195: [0]=>
196: int(%d)
197: [1]=>
198: int(%d)
199: [2]=>
200: int(%d)
201: [3]=>
202: int(%d)
203: }
204:
205: -- Iteration 10 --
206: bool(true)
207:
208: The output array is:
209: array(3) {
210: [0]=>
211: int(-%d)
212: [1]=>
213: int(-%d)
214: [2]=>
215: int(-%d)
216: }
217:
218: -- Iteration 11 --
219: bool(true)
220:
221: The output array is:
222: array(3) {
223: [0]=>
224: NULL
225: [1]=>
226: NULL
227: [2]=>
228: NULL
229: }
230: Done
231:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>