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

1.1       misho       1: --TEST--
                      2: Test array_map() function : usage variations - different arrays for 'arr1' argument
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : array array_map  ( callback $callback  , array $arr1  [, array $...  ] )
                      6:  * Description: Applies the callback to the elements of the given arrays
                      7:  * Source code: ext/standard/array.c
                      8:  */
                      9: 
                     10: /*
                     11:  * Test array_map() by passing different arrays for $arr1 argument
                     12:  */
                     13: 
                     14: echo "*** Testing array_map() : different arrays for 'arr1' argument ***\n";
                     15: 
                     16: function callback($a)
                     17: {
                     18:   return ($a);
                     19: }
                     20: 
                     21: // different arrays
                     22: $arrays = array (
                     23: /*1*/  array(1, 2), // array with default keys and numeric values
                     24:        array(1.1, 2.2), // array with default keys & float values
                     25:        array( array(2), array(1)), // sub arrays
                     26:        array(false,true), // array with default keys and boolean values
                     27:        array(), // empty array
                     28:        array(NULL), // array with NULL
                     29:        array("a","aaaa","b","bbbb","c","ccccc"),
                     30: 
                     31:        // associative arrays
                     32: /*8*/  array(1 => "one", 2 => "two", 3 => "three"),  // explicit numeric keys, string values
                     33:        array("one" => 1, "two" => 2, "three" => 3 ),  // string keys & numeric values
                     34:        array( 1 => 10, 2 => 20, 4 => 40, 3 => 30),  // explicit numeric keys and numeric values
                     35:        array( "one" => "ten", "two" => "twenty", "three" => "thirty"),  // string key/value
                     36:        array("one" => 1, 2 => "two", 4 => "four"),  //mixed
                     37: 
                     38:        // associative array, containing null/empty/boolean values as key/value
                     39: /*13*/ array(NULL => "NULL", null => "null", "NULL" => NULL, "null" => null),
                     40:        array(true => "true", false => "false", "false" => false, "true" => true),
                     41:        array("" => "emptyd", '' => 'emptys', "emptyd" => "", 'emptys' => ''),
                     42:        array(1 => '', 2 => "", 3 => NULL, 4 => null, 5 => false, 6 => true),
                     43:        array('' => 1, "" => 2, NULL => 3, null => 4, false => 5, true => 6),
                     44: 
                     45:        // array with repetative keys
                     46: /*18*/ array("One" => 1, "two" => 2, "One" => 10, "two" => 20, "three" => 3)
                     47: );
                     48: 
                     49: // loop through the various elements of $arrays to test array_map()
                     50: $iterator = 1;
                     51: foreach($arrays as $arr1) {
                     52:   echo "-- Iteration $iterator --\n";
                     53:   var_dump( array_map('callback', $arr1) );
                     54:   $iterator++;
                     55: }
                     56: 
                     57: echo "Done";
                     58: ?>
                     59: --EXPECTF--
                     60: *** Testing array_map() : different arrays for 'arr1' argument ***
                     61: -- Iteration 1 --
                     62: array(2) {
                     63:   [0]=>
                     64:   int(1)
                     65:   [1]=>
                     66:   int(2)
                     67: }
                     68: -- Iteration 2 --
                     69: array(2) {
                     70:   [0]=>
                     71:   float(1.1)
                     72:   [1]=>
                     73:   float(2.2)
                     74: }
                     75: -- Iteration 3 --
                     76: array(2) {
                     77:   [0]=>
                     78:   array(1) {
                     79:     [0]=>
                     80:     int(2)
                     81:   }
                     82:   [1]=>
                     83:   array(1) {
                     84:     [0]=>
                     85:     int(1)
                     86:   }
                     87: }
                     88: -- Iteration 4 --
                     89: array(2) {
                     90:   [0]=>
                     91:   bool(false)
                     92:   [1]=>
                     93:   bool(true)
                     94: }
                     95: -- Iteration 5 --
                     96: array(0) {
                     97: }
                     98: -- Iteration 6 --
                     99: array(1) {
                    100:   [0]=>
                    101:   NULL
                    102: }
                    103: -- Iteration 7 --
                    104: array(6) {
                    105:   [0]=>
                    106:   string(1) "a"
                    107:   [1]=>
                    108:   string(4) "aaaa"
                    109:   [2]=>
                    110:   string(1) "b"
                    111:   [3]=>
                    112:   string(4) "bbbb"
                    113:   [4]=>
                    114:   string(1) "c"
                    115:   [5]=>
                    116:   string(5) "ccccc"
                    117: }
                    118: -- Iteration 8 --
                    119: array(3) {
                    120:   [1]=>
                    121:   string(3) "one"
                    122:   [2]=>
                    123:   string(3) "two"
                    124:   [3]=>
                    125:   string(5) "three"
                    126: }
                    127: -- Iteration 9 --
                    128: array(3) {
                    129:   ["one"]=>
                    130:   int(1)
                    131:   ["two"]=>
                    132:   int(2)
                    133:   ["three"]=>
                    134:   int(3)
                    135: }
                    136: -- Iteration 10 --
                    137: array(4) {
                    138:   [1]=>
                    139:   int(10)
                    140:   [2]=>
                    141:   int(20)
                    142:   [4]=>
                    143:   int(40)
                    144:   [3]=>
                    145:   int(30)
                    146: }
                    147: -- Iteration 11 --
                    148: array(3) {
                    149:   ["one"]=>
                    150:   string(3) "ten"
                    151:   ["two"]=>
                    152:   string(6) "twenty"
                    153:   ["three"]=>
                    154:   string(6) "thirty"
                    155: }
                    156: -- Iteration 12 --
                    157: array(3) {
                    158:   ["one"]=>
                    159:   int(1)
                    160:   [2]=>
                    161:   string(3) "two"
                    162:   [4]=>
                    163:   string(4) "four"
                    164: }
                    165: -- Iteration 13 --
                    166: array(3) {
                    167:   [""]=>
                    168:   string(4) "null"
                    169:   ["NULL"]=>
                    170:   NULL
                    171:   ["null"]=>
                    172:   NULL
                    173: }
                    174: -- Iteration 14 --
                    175: array(4) {
                    176:   [1]=>
                    177:   string(4) "true"
                    178:   [0]=>
                    179:   string(5) "false"
                    180:   ["false"]=>
                    181:   bool(false)
                    182:   ["true"]=>
                    183:   bool(true)
                    184: }
                    185: -- Iteration 15 --
                    186: array(3) {
                    187:   [""]=>
                    188:   string(6) "emptys"
                    189:   ["emptyd"]=>
                    190:   string(0) ""
                    191:   ["emptys"]=>
                    192:   string(0) ""
                    193: }
                    194: -- Iteration 16 --
                    195: array(6) {
                    196:   [1]=>
                    197:   string(0) ""
                    198:   [2]=>
                    199:   string(0) ""
                    200:   [3]=>
                    201:   NULL
                    202:   [4]=>
                    203:   NULL
                    204:   [5]=>
                    205:   bool(false)
                    206:   [6]=>
                    207:   bool(true)
                    208: }
                    209: -- Iteration 17 --
                    210: array(3) {
                    211:   [""]=>
                    212:   int(4)
                    213:   [0]=>
                    214:   int(5)
                    215:   [1]=>
                    216:   int(6)
                    217: }
                    218: -- Iteration 18 --
                    219: array(3) {
                    220:   ["One"]=>
                    221:   int(10)
                    222:   ["two"]=>
                    223:   int(20)
                    224:   ["three"]=>
                    225:   int(3)
                    226: }
                    227: Done

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