Return to array_rand_variation3.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
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: