Annotation of embedaddon/php/ext/standard/tests/array/array_rand_variation3.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_rand() function : usage variation - with MultiDimensional array
3: --FILE--
4: <?php
5: /* Prototype : mixed array_rand(array $input [, int $num_req])
6: * Description: Return key/keys for random entry/entries in the array
7: * Source code: ext/standard/array.c
8: */
9:
10: /*
11: * Test behaviour of array_rand() function when multi-dimensional array
12: * is passed to 'input' argument
13: */
14:
15: echo "*** Testing array_rand() : with multi-dimensional array ***\n";
16:
17: // initialise the multi-dimensional array
18: $input = array(
19: // array with int values
20: /*1*/ array(1, 2, 0, -0, -1, -2),
21:
22: // array with float values
23: array(1.23, -1.23, 0.34, -0.34, 0e2, 2e-3, -2e2, -40e-2),
24:
25: // array with single quoted strings
26: /*3*/ array('one', '123numbers', 'hello\tworld', 'hello world\0', '12.34floatnum'),
27:
28: // array with double quoted strings
29: array("one","123numbers", "hello\tworld", "hello world\0", "12.34floatnum"),
30:
31: // array with bool values
32: /*5*/ array(true, TRUE, FALSE, false, TrUe, FaLsE),
33:
34: // array with hexa values
35: array(0x123, -0x123, 0xabc, 0xABC, 0xab),
36:
37: // array with null values
38: /*7*/ array(null, NULL, "\0", Null, NuLl)
39:
40: );
41:
42: // initialise 'num_req' variable
43: $num_req = 3;
44:
45: // calling array_rand() function with multi-dimensional array
46: var_dump( array_rand($input, $num_req) );
47:
48: // looping to test array_rand() with each sub-array in the multi-dimensional array
49: echo "\n*** Testing array_rand() with arrays having different types of values ***\n";
50: $counter = 1;
51: foreach($input as $arr) {
52: echo "\n-- Iteration $counter --\n";
53: var_dump( array_rand($arr) ); // with default arguments
54: var_dump( array_rand($arr, 3) ); // with default as well as optional arguments
55: $counter++;
56: }
57:
58: echo "Done";
59: ?>
60: --EXPECTF--
61: *** Testing array_rand() : with multi-dimensional array ***
62: array(3) {
63: [0]=>
64: int(%d)
65: [1]=>
66: int(%d)
67: [2]=>
68: int(%d)
69: }
70:
71: *** Testing array_rand() with arrays having different types of values ***
72:
73: -- Iteration 1 --
74: int(%d)
75: array(3) {
76: [0]=>
77: int(%d)
78: [1]=>
79: int(%d)
80: [2]=>
81: int(%d)
82: }
83:
84: -- Iteration 2 --
85: int(%d)
86: array(3) {
87: [0]=>
88: int(%d)
89: [1]=>
90: int(%d)
91: [2]=>
92: int(%d)
93: }
94:
95: -- Iteration 3 --
96: int(%d)
97: array(3) {
98: [0]=>
99: int(%d)
100: [1]=>
101: int(%d)
102: [2]=>
103: int(%d)
104: }
105:
106: -- Iteration 4 --
107: int(%d)
108: array(3) {
109: [0]=>
110: int(%d)
111: [1]=>
112: int(%d)
113: [2]=>
114: int(%d)
115: }
116:
117: -- Iteration 5 --
118: int(%d)
119: array(3) {
120: [0]=>
121: int(%d)
122: [1]=>
123: int(%d)
124: [2]=>
125: int(%d)
126: }
127:
128: -- Iteration 6 --
129: int(%d)
130: array(3) {
131: [0]=>
132: int(%d)
133: [1]=>
134: int(%d)
135: [2]=>
136: int(%d)
137: }
138:
139: -- Iteration 7 --
140: int(%d)
141: array(3) {
142: [0]=>
143: int(%d)
144: [1]=>
145: int(%d)
146: [2]=>
147: int(%d)
148: }
149: Done
150:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>