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

1.1     ! misho       1: --TEST--
        !             2: Test array_walk() function : object functionality - array of objects
        !             3: --FILE--
        !             4: <?php
        !             5: /* Prototype  : bool array_walk(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: * Testing array_walk() with an array of objects
        !            12: */
        !            13: 
        !            14: echo "*** Testing array_walk() : array of objects ***\n";
        !            15: 
        !            16: /*
        !            17:  * Prototype : callback(mixed $value, mixed $key, int $addvalue
        !            18:  * Parameters : $value - values in given input array
        !            19:  *              $key - keys in given input array
        !            20:  *              $addvalue - value to be added
        !            21:  * Description : Function adds the addvalue to each element of an array
        !            22: */
        !            23: function callback_private($value, $key, $addValue)
        !            24: { 
        !            25:   echo "value : ";
        !            26:   var_dump($value->getValue());
        !            27:   echo "key : ";
        !            28:   var_dump($key);
        !            29: }
        !            30: 
        !            31: function callback_public($value, $key)
        !            32: {
        !            33:   echo "value : ";
        !            34:   var_dump($value->pub_value);
        !            35: }
        !            36: function callback_protected($value, $key)
        !            37: {
        !            38:   echo "value : ";
        !            39:   var_dump($value->get_pro_value());
        !            40: }
        !            41: 
        !            42: class MyClass
        !            43: {
        !            44:   private $pri_value;
        !            45:   public $pub_value;
        !            46:   protected $pro_value;
        !            47:   public function __construct($setVal)
        !            48:   {
        !            49:     $this->pri_value = $setVal;
        !            50:     $this->pub_value = $setVal;
        !            51:     $this->pro_value = $setVal;
        !            52:   }
        !            53:   public function getValue()
        !            54:   {
        !            55:     return $this->pri_value;
        !            56:   }
        !            57:   public function get_pro_value()
        !            58:   {
        !            59:     return $this->pro_value;
        !            60:   }
        !            61: };    
        !            62: 
        !            63: // array containing objects of MyClass
        !            64: $input = array (
        !            65:   new MyClass(3),
        !            66:   new MyClass(10),
        !            67:   new MyClass(20),
        !            68:   new MyClass(-10)
        !            69: );
        !            70: 
        !            71: echo "-- For private member --\n";
        !            72: var_dump( array_walk($input, "callback_private", 1));
        !            73: echo "-- For public member --\n";
        !            74: var_dump( array_walk($input, "callback_public"));
        !            75: echo "-- For protected member --\n";
        !            76: var_dump( array_walk($input, "callback_protected")); 
        !            77: 
        !            78: echo "Done"
        !            79: ?>
        !            80: --EXPECTF--
        !            81: *** Testing array_walk() : array of objects ***
        !            82: -- For private member --
        !            83: value : int(3)
        !            84: key : int(0)
        !            85: value : int(10)
        !            86: key : int(1)
        !            87: value : int(20)
        !            88: key : int(2)
        !            89: value : int(-10)
        !            90: key : int(3)
        !            91: bool(true)
        !            92: -- For public member --
        !            93: value : int(3)
        !            94: value : int(10)
        !            95: value : int(20)
        !            96: value : int(-10)
        !            97: bool(true)
        !            98: -- For protected member --
        !            99: value : int(3)
        !           100: value : int(10)
        !           101: value : int(20)
        !           102: value : int(-10)
        !           103: bool(true)
        !           104: Done

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