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>