Annotation of embedaddon/php/ext/standard/tests/array/array_rand_variation3.phpt, revision 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>