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

1.1       misho       1: --TEST--
                      2: Test array_map() function : usage variations - arrays of different size
                      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 array having different size
                     12:  *   1) first array as empty array
                     13:  *   2) second array as empty array
                     14:  *   3) second array shorter than first array
                     15:  *   4) first array shorter than second array
                     16:  *   5) one more array than callback function arguments
                     17:  */
                     18: 
                     19: echo "*** Testing array_map() : arrays with diff. size ***\n";
                     20: 
                     21: function callback($a, $b)
                     22: {
                     23:   return array($a => $b);
                     24: }
                     25: 
                     26: // calling array_map with different arrays
                     27: var_dump( array_map('callback', array(1, 2, 3), array()) );
                     28: var_dump( array_map('callback', array(), array('a', 'b', 'c')) );
                     29: var_dump( array_map('callback', array(1, 2, 3), array('a', 'b')) );
                     30: var_dump( array_map('callback', array(012, 0x2F, 0X1A), array(2.3, 12.4e2)) );
                     31: var_dump( array_map('callback', array(), array(1, 2, 3), array('a', 'b')) );  // passing more no. of arrays than callback function argument
                     32: 
                     33: echo "Done";
                     34: ?>
                     35: --EXPECTF--
                     36: *** Testing array_map() : arrays with diff. size ***
                     37: array(3) {
                     38:   [0]=>
                     39:   array(1) {
                     40:     [1]=>
                     41:     NULL
                     42:   }
                     43:   [1]=>
                     44:   array(1) {
                     45:     [2]=>
                     46:     NULL
                     47:   }
                     48:   [2]=>
                     49:   array(1) {
                     50:     [3]=>
                     51:     NULL
                     52:   }
                     53: }
                     54: array(3) {
                     55:   [0]=>
                     56:   array(1) {
                     57:     [""]=>
                     58:     string(1) "a"
                     59:   }
                     60:   [1]=>
                     61:   array(1) {
                     62:     [""]=>
                     63:     string(1) "b"
                     64:   }
                     65:   [2]=>
                     66:   array(1) {
                     67:     [""]=>
                     68:     string(1) "c"
                     69:   }
                     70: }
                     71: array(3) {
                     72:   [0]=>
                     73:   array(1) {
                     74:     [1]=>
                     75:     string(1) "a"
                     76:   }
                     77:   [1]=>
                     78:   array(1) {
                     79:     [2]=>
                     80:     string(1) "b"
                     81:   }
                     82:   [2]=>
                     83:   array(1) {
                     84:     [3]=>
                     85:     NULL
                     86:   }
                     87: }
                     88: array(3) {
                     89:   [0]=>
                     90:   array(1) {
                     91:     [10]=>
                     92:     float(2.3)
                     93:   }
                     94:   [1]=>
                     95:   array(1) {
                     96:     [47]=>
                     97:     float(1240)
                     98:   }
                     99:   [2]=>
                    100:   array(1) {
                    101:     [26]=>
                    102:     NULL
                    103:   }
                    104: }
                    105: array(3) {
                    106:   [0]=>
                    107:   array(1) {
                    108:     [""]=>
                    109:     int(1)
                    110:   }
                    111:   [1]=>
                    112:   array(1) {
                    113:     [""]=>
                    114:     int(2)
                    115:   }
                    116:   [2]=>
                    117:   array(1) {
                    118:     [""]=>
                    119:     int(3)
                    120:   }
                    121: }
                    122: Done

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