Annotation of embedaddon/php/ext/standard/tests/array/array_map_variation7.phpt, revision 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>