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

1.1       misho       1: --TEST--
                      2: Test array_map() function : usage variations - with recursive callback
                      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 subarrays and recursive callback function
                     12:  */
                     13: 
                     14: echo "*** Testing array_map() : recursive callback function ***\n";
                     15: 
                     16: // callback function
                     17: function square_recur_single_array($var) {
                     18:    if (is_array($var))
                     19:      return array_map('square_recur_single_array', $var);
                     20:    return $var * $var;
                     21: }
                     22: 
                     23: $array1 = array(1, array(2, 3, array(5)), array(4));
                     24: 
                     25: var_dump( array_map('square_recur_single_array', $array1));
                     26: 
                     27: echo "Done";
                     28: ?>
                     29: --EXPECTF--
                     30: *** Testing array_map() : recursive callback function ***
                     31: array(3) {
                     32:   [0]=>
                     33:   int(1)
                     34:   [1]=>
                     35:   array(3) {
                     36:     [0]=>
                     37:     int(4)
                     38:     [1]=>
                     39:     int(9)
                     40:     [2]=>
                     41:     array(1) {
                     42:       [0]=>
                     43:       int(25)
                     44:     }
                     45:   }
                     46:   [2]=>
                     47:   array(1) {
                     48:     [0]=>
                     49:     int(16)
                     50:   }
                     51: }
                     52: Done

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