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

1.1       misho       1: --TEST--
                      2: Test array_map() function : usage variations - callback function with different return types
                      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 callback function returning:
                     12:  *   int, string, bool, null values
                     13:  */
                     14: 
                     15: echo "*** Testing array_map() : callback with diff return value ***\n";
                     16: 
                     17: $array1 = array(1, 2, 3);
                     18: $array2 = array(3, 4, 5);
                     19: 
                     20: echo "-- with integer return value --\n";
                     21: function callback_int($a, $b)
                     22: {
                     23:   return $a + $b;
                     24: }
                     25: var_dump( array_map('callback_int', $array1, $array2));
                     26: 
                     27: echo "-- with string return value --\n";
                     28: function callback_string($a, $b)
                     29: {
                     30:   return "$a"."$b";
                     31: }
                     32: var_dump( array_map('callback_string', $array1, $array2));
                     33: 
                     34: echo "-- with bool return value --\n";
                     35: function callback_bool($a, $b)
                     36: {
                     37:   return TRUE;
                     38: }
                     39: var_dump( array_map('callback_bool', $array1, $array2));
                     40: 
                     41: echo "-- with null return value --\n";
                     42: function callback_null($array1)
                     43: {
                     44:   return NULL;
                     45: }
                     46: var_dump( array_map('callback_null', $array1));
                     47: 
                     48: echo "-- with no return value --\n";
                     49: function callback_without_ret($arr1)
                     50: {
                     51:   echo "callback_without_ret called\n";
                     52: }
                     53: var_dump( array_map('callback_without_ret', $array1));
                     54: 
                     55: echo "Done";
                     56: ?>
                     57: --EXPECTF--
                     58: *** Testing array_map() : callback with diff return value ***
                     59: -- with integer return value --
                     60: array(3) {
                     61:   [0]=>
                     62:   int(4)
                     63:   [1]=>
                     64:   int(6)
                     65:   [2]=>
                     66:   int(8)
                     67: }
                     68: -- with string return value --
                     69: array(3) {
                     70:   [0]=>
                     71:   string(2) "13"
                     72:   [1]=>
                     73:   string(2) "24"
                     74:   [2]=>
                     75:   string(2) "35"
                     76: }
                     77: -- with bool return value --
                     78: array(3) {
                     79:   [0]=>
                     80:   bool(true)
                     81:   [1]=>
                     82:   bool(true)
                     83:   [2]=>
                     84:   bool(true)
                     85: }
                     86: -- with null return value --
                     87: array(3) {
                     88:   [0]=>
                     89:   NULL
                     90:   [1]=>
                     91:   NULL
                     92:   [2]=>
                     93:   NULL
                     94: }
                     95: -- with no return value --
                     96: callback_without_ret called
                     97: callback_without_ret called
                     98: callback_without_ret called
                     99: array(3) {
                    100:   [0]=>
                    101:   NULL
                    102:   [1]=>
                    103:   NULL
                    104:   [2]=>
                    105:   NULL
                    106: }
                    107: Done

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