Updates to Tomato RAF including NGINX && PHP
[tomato.git] / release / src / router / php / ext / standard / tests / array / shuffle_variation4.phpt
blob516e7c95036784d77dbbc657ba1a580e509b4d9a
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 */
11 * Test behaviour of shuffle() function when associative arrays 
12 * having different types of values, are passed to 'array_arg' argument
15 echo "*** Testing shuffle() : associative arrays with diff types of values ***\n";
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 ),
22        // array with negative int values
23        array("minus_one" => -1, 'minus_two' => -2, "min_int" => -2147483647 ),
25        // array with positive float values
26 /*3*/  array("float1" => 0.23, 'float2' => 1.34, "exp1" => 0e2, 'exp2' => 200e-2, "exp3" =>  10e0),
28        // array with negative float values
29        array(-0.23 => -0.23, -1.34 => -1.34, -200e-2 => -200e-2, -30 => -30e0, -2147473649.80),
31        // array with single and double quoted strings
32 /*5*/  array('1' => 'one', "str1" => "123numbers", '' => 'hello\tworld', "" => "hello world\0", "12.34floatnum"),
34        // array with bool values
35        array('1' => TRUE, "1" => TRUE, "0" => FALSE, '0' => FALSE),
37        // array with positive hexa values
38 /*7*/  array("hex1" => 0x123, 'hex2' => 0xabc, "hex\t3" => 0xABC, "hex\04" => 0xAb1),
40        // array with negative hexa values
41        array(NULL => -0x123, "NULL" => -0xabc, "-ABC" => -0xABC, -0xAB1 => -0xAb1),
43        // array with positive octal values
44 /*9*/  array(0123 => 0123, "02348" => 02348, '034' => 034, 00 => 00),
46        // array with negative octal values
47        array(-0123 => -0123, "-02348" => -02348, '-034' => -034),
49        // array with null values
50 /*11*/ array(NULL => NULL, "null" => NULL, "NULL" => NULL)
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++;
65 echo "Done";
67 --EXPECTF--
68 *** Testing shuffle() : associative arrays with diff types of values ***
70 *** Testing shuffle() with arrays having different types of values ***
72 -- Iteration 1 --
73 bool(true)
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)
87 -- Iteration 2 --
88 bool(true)
90 The output array is:
91 array(3) {
92   [0]=>
93   int(-%d)
94   [1]=>
95   int(-%d)
96   [2]=>
97   int(-%d)
100 -- Iteration 3 --
101 bool(true)
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)
117 -- Iteration 4 --
118 bool(true)
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)
134 -- Iteration 5 --
135 bool(true)
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"
149 -- Iteration 6 --
150 bool(true)
152 The output array is:
153 array(2) {
154   [0]=>
155   bool(%s)
156   [1]=>
157   bool(%s)
160 -- Iteration 7 --
161 bool(true)
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)
175 -- Iteration 8 --
176 bool(true)
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)
190 -- Iteration 9 --
191 bool(true)
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)
205 -- Iteration 10 --
206 bool(true)
208 The output array is:
209 array(3) {
210   [0]=>
211   int(-%d)
212   [1]=>
213   int(-%d)
214   [2]=>
215   int(-%d)
218 -- Iteration 11 --
219 bool(true)
221 The output array is:
222 array(3) {
223   [0]=>
224   NULL
225   [1]=>
226   NULL
227   [2]=>
228   NULL
230 Done