Annotation of embedaddon/php/ext/standard/tests/array/array_walk_recursive_variation9.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Test array_walk_recursive() function : usage variations - different callback functions
        !             3: --FILE--
        !             4: <?php
        !             5: /* Prototype  : bool array_walk_recursive(array $input, string $funcname [, mixed $userdata])
        !             6:  * Description: Apply a user function to every member of an array 
        !             7:  * Source code: ext/standard/array.c
        !             8: */
        !             9: 
        !            10: /*
        !            11:  * Passing different types of callback functions to array_walk_recursive()
        !            12:  *   without parameters
        !            13:  *   with less and more parameters
        !            14: */
        !            15: 
        !            16: echo "*** Testing array_walk_recursive() : callback function variation ***\n";
        !            17: 
        !            18: $input = array(array('Apple', 'Banana'), 'Mango', array('Orange'));
        !            19: 
        !            20: echo "-- callback function with both parameters --\n";
        !            21: function callback_two_parameter($value, $key)
        !            22: {
        !            23:    // dump the arguments to check that they are passed
        !            24:    // with proper type
        !            25:    var_dump($key);  // key
        !            26:    var_dump($value); // value
        !            27:    echo "\n"; // new line to separate the output between each element
        !            28: }
        !            29: var_dump( array_walk_recursive($input, 'callback_two_parameter'));
        !            30: 
        !            31: echo "-- callback function with only one parameter --\n";
        !            32: function callback_one_parameter($value)
        !            33: {
        !            34:    // dump the arguments to check that they are passed
        !            35:    // with proper type
        !            36:    var_dump($value); // value
        !            37:    echo "\n"; // new line to separate the output between each element
        !            38: }
        !            39: var_dump( array_walk_recursive($input, 'callback_one_parameter'));
        !            40: 
        !            41: echo "-- callback function without parameters --\n";
        !            42: function callback_no_parameter()
        !            43: {
        !            44:   echo "callback3() called\n";
        !            45: }
        !            46: var_dump( array_walk_recursive($input, 'callback_no_parameter'));
        !            47: 
        !            48: echo "-- passing one more parameter to function with two parameters --\n";
        !            49: var_dump( array_walk_recursive($input, 'callback_two_parameter', 10)); 
        !            50: 
        !            51: echo "Done"
        !            52: ?>
        !            53: --EXPECTF--
        !            54: *** Testing array_walk_recursive() : callback function variation ***
        !            55: -- callback function with both parameters --
        !            56: int(0)
        !            57: string(5) "Apple"
        !            58: 
        !            59: int(1)
        !            60: string(6) "Banana"
        !            61: 
        !            62: int(1)
        !            63: string(5) "Mango"
        !            64: 
        !            65: int(0)
        !            66: string(6) "Orange"
        !            67: 
        !            68: bool(true)
        !            69: -- callback function with only one parameter --
        !            70: string(5) "Apple"
        !            71: 
        !            72: string(6) "Banana"
        !            73: 
        !            74: string(5) "Mango"
        !            75: 
        !            76: string(6) "Orange"
        !            77: 
        !            78: bool(true)
        !            79: -- callback function without parameters --
        !            80: callback3() called
        !            81: callback3() called
        !            82: callback3() called
        !            83: callback3() called
        !            84: bool(true)
        !            85: -- passing one more parameter to function with two parameters --
        !            86: int(0)
        !            87: string(5) "Apple"
        !            88: 
        !            89: int(1)
        !            90: string(6) "Banana"
        !            91: 
        !            92: int(1)
        !            93: string(5) "Mango"
        !            94: 
        !            95: int(0)
        !            96: string(6) "Orange"
        !            97: 
        !            98: bool(true)
        !            99: Done

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