Annotation of embedaddon/php/ext/standard/tests/array/shuffle_variation4.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test shuffle() function : usage variation - associative arrays with diff types of values
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : bool shuffle(array $array_arg)
                      6:  * Description: Randomly shuffle the contents of an array 
                      7:  * Source code: ext/standard/array.c
                      8: */
                      9: 
                     10: /*
                     11: * Test behaviour of shuffle() function when associative arrays 
                     12: * having different types of values, are passed to 'array_arg' argument
                     13: */
                     14: 
                     15: echo "*** Testing shuffle() : associative arrays with diff types of values ***\n";
                     16: 
                     17: // initialise different arrays
                     18: $array_arg = array(
                     19:        // array with positive int values
                     20: /*1*/  array("zero" => 0, 1 => 1, "two" => 2, "max_int" => 2147483647 ),
                     21: 
                     22:        // array with negative int values
                     23:        array("minus_one" => -1, 'minus_two' => -2, "min_int" => -2147483647 ),
                     24: 
                     25:        // array with positive float values
                     26: /*3*/  array("float1" => 0.23, 'float2' => 1.34, "exp1" => 0e2, 'exp2' => 200e-2, "exp3" =>  10e0),
                     27: 
                     28:        // array with negative float values
                     29:        array(-0.23 => -0.23, -1.34 => -1.34, -200e-2 => -200e-2, -30 => -30e0, -2147473649.80),
                     30: 
                     31:        // array with single and double quoted strings
                     32: /*5*/  array('1' => 'one', "str1" => "123numbers", '' => 'hello\tworld', "" => "hello world\0", "12.34floatnum"),
                     33: 
                     34:        // array with bool values
                     35:        array('1' => TRUE, "1" => TRUE, "0" => FALSE, '0' => FALSE),
                     36: 
                     37:        // array with positive hexa values
                     38: /*7*/  array("hex1" => 0x123, 'hex2' => 0xabc, "hex\t3" => 0xABC, "hex\04" => 0xAb1),
                     39: 
                     40:        // array with negative hexa values
                     41:        array(NULL => -0x123, "NULL" => -0xabc, "-ABC" => -0xABC, -0xAB1 => -0xAb1),
                     42: 
                     43:        // array with positive octal values
                     44: /*9*/  array(0123 => 0123, "02348" => 02348, '034' => 034, 00 => 00),
                     45: 
                     46:        // array with negative octal values
                     47:        array(-0123 => -0123, "-02348" => -02348, '-034' => -034),
                     48: 
                     49:        // array with null values
                     50: /*11*/ array(NULL => NULL, "null" => NULL, "NULL" => NULL)
                     51: 
                     52: );
                     53: 
                     54: // looping to test shuffle() with each sub-array in the $array_arg array
                     55: echo "\n*** Testing shuffle() with arrays having different types of values ***\n";
                     56: $counter = 1;
                     57: foreach($array_arg as $arr) {
                     58:   echo "\n-- Iteration $counter --\n";
                     59:   var_dump( shuffle($arr) );  
                     60:   echo "\nThe output array is:\n";
                     61:   var_dump( $arr ); 
                     62:   $counter++;
                     63: }
                     64: 
                     65: echo "Done";
                     66: ?>
                     67: --EXPECTF--
                     68: *** Testing shuffle() : associative arrays with diff types of values ***
                     69: 
                     70: *** Testing shuffle() with arrays having different types of values ***
                     71: 
                     72: -- Iteration 1 --
                     73: bool(true)
                     74: 
                     75: The output array is:
                     76: array(4) {
                     77:   [0]=>
                     78:   int(%d)
                     79:   [1]=>
                     80:   int(%d)
                     81:   [2]=>
                     82:   int(%d)
                     83:   [3]=>
                     84:   int(%d)
                     85: }
                     86: 
                     87: -- Iteration 2 --
                     88: bool(true)
                     89: 
                     90: The output array is:
                     91: array(3) {
                     92:   [0]=>
                     93:   int(-%d)
                     94:   [1]=>
                     95:   int(-%d)
                     96:   [2]=>
                     97:   int(-%d)
                     98: }
                     99: 
                    100: -- Iteration 3 --
                    101: bool(true)
                    102: 
                    103: The output array is:
                    104: array(5) {
                    105:   [0]=>
                    106:   float(%f)
                    107:   [1]=>
                    108:   float(%f)
                    109:   [2]=>
                    110:   float(%f)
                    111:   [3]=>
                    112:   float(%f)
                    113:   [4]=>
                    114:   float(%f)
                    115: }
                    116: 
                    117: -- Iteration 4 --
                    118: bool(true)
                    119: 
                    120: The output array is:
                    121: array(5) {
                    122:   [0]=>
                    123:   float(-%f)
                    124:   [1]=>
                    125:   float(-%f)
                    126:   [2]=>
                    127:   float(-%f)
                    128:   [3]=>
                    129:   float(-%f)
                    130:   [4]=>
                    131:   float(-%f)
                    132: }
                    133: 
                    134: -- Iteration 5 --
                    135: bool(true)
                    136: 
                    137: The output array is:
                    138: array(4) {
                    139:   [0]=>
                    140:   string(%d) "%s"
                    141:   [1]=>
                    142:   string(%d) "%s"
                    143:   [2]=>
                    144:   string(%d) "%s"
                    145:   [3]=>
                    146:   string(%d) "%s"
                    147: }
                    148: 
                    149: -- Iteration 6 --
                    150: bool(true)
                    151: 
                    152: The output array is:
                    153: array(2) {
                    154:   [0]=>
                    155:   bool(%s)
                    156:   [1]=>
                    157:   bool(%s)
                    158: }
                    159: 
                    160: -- Iteration 7 --
                    161: bool(true)
                    162: 
                    163: The output array is:
                    164: array(4) {
                    165:   [0]=>
                    166:   int(%d)
                    167:   [1]=>
                    168:   int(%d)
                    169:   [2]=>
                    170:   int(%d)
                    171:   [3]=>
                    172:   int(%d)
                    173: }
                    174: 
                    175: -- Iteration 8 --
                    176: bool(true)
                    177: 
                    178: The output array is:
                    179: array(4) {
                    180:   [0]=>
                    181:   int(-%d)
                    182:   [1]=>
                    183:   int(-%d)
                    184:   [2]=>
                    185:   int(-%d)
                    186:   [3]=>
                    187:   int(-%d)
                    188: }
                    189: 
                    190: -- Iteration 9 --
                    191: bool(true)
                    192: 
                    193: The output array is:
                    194: array(4) {
                    195:   [0]=>
                    196:   int(%d)
                    197:   [1]=>
                    198:   int(%d)
                    199:   [2]=>
                    200:   int(%d)
                    201:   [3]=>
                    202:   int(%d)
                    203: }
                    204: 
                    205: -- Iteration 10 --
                    206: bool(true)
                    207: 
                    208: The output array is:
                    209: array(3) {
                    210:   [0]=>
                    211:   int(-%d)
                    212:   [1]=>
                    213:   int(-%d)
                    214:   [2]=>
                    215:   int(-%d)
                    216: }
                    217: 
                    218: -- Iteration 11 --
                    219: bool(true)
                    220: 
                    221: The output array is:
                    222: array(3) {
                    223:   [0]=>
                    224:   NULL
                    225:   [1]=>
                    226:   NULL
                    227:   [2]=>
                    228:   NULL
                    229: }
                    230: Done
                    231: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>