Annotation of embedaddon/php/ext/standard/tests/array/array_rand_variation5.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_rand() function : usage variation - invalid values for 'req_num' parameter
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 associative array and
12: * various invalid values are passed to the 'input' and 'req_num'
13: * parameters respectively
14: */
15:
16: echo "*** Testing array_rand() : with invalid values for 'req_num' ***\n";
17:
18: // initialise associative arrays
19: $input = array(
20: 1 => 'one', 2.2 => 'float key', 0.9 => 'decimal key',
21: 2e2 => 'exp key1', 2000e-3 => 'negative exp key',
22: 0xabc => 2748, 0x12f => '303', 0xff => "255",
23: 0123 => 83, 0129 => 10, 010 => "8"
24: );
25:
26: // Testing array_rand() function with various invalid 'req_num' values
27: // with valid num_req values
28: echo"\n-- With default num_req value --\n";
29: var_dump( array_rand($input) ); // with default $num_req value
30: echo"\n-- With num_req = 1 --\n";
31: var_dump( array_rand($input, 1) ); // with valid $num_req value
32:
33: // with invalid num_req value
34: echo"\n-- With num_req = 0 --\n";
35: var_dump( array_rand($input, 0) ); // with $num_req=0
36: echo"\n-- With num_req = -1 --\n";
37: var_dump( array_rand($input, -1) ); // with $num_req=-1
38: echo"\n-- With num_req = -2 --\n";
39: var_dump( array_rand($input, -2) ); // with $num_req=-2
40: echo"\n-- With num_req more than number of members in 'input' array --\n";
41: var_dump( array_rand($input, 13) ); // with $num_req=13
42:
43:
44: echo "Done";
45: ?>
46: --EXPECTF--
47: *** Testing array_rand() : with invalid values for 'req_num' ***
48:
49: -- With default num_req value --
50: int(%d)
51:
52: -- With num_req = 1 --
53: int(%d)
54:
55: -- With num_req = 0 --
56:
57: Warning: array_rand(): Second argument has to be between 1 and the number of elements in the array in %s on line %d
58: NULL
59:
60: -- With num_req = -1 --
61:
62: Warning: array_rand(): Second argument has to be between 1 and the number of elements in the array in %s on line %d
63: NULL
64:
65: -- With num_req = -2 --
66:
67: Warning: array_rand(): Second argument has to be between 1 and the number of elements in the array in %s on line %d
68: NULL
69:
70: -- With num_req more than number of members in 'input' array --
71:
72: Warning: array_rand(): Second argument has to be between 1 and the number of elements in the array in %s on line %d
73: NULL
74: Done
75:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>