Annotation of embedaddon/php/ext/standard/tests/array/array_walk_recursive_object2.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test array_walk_recursive() function : object functionality - array of objects
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: * Testing array_walk_recursive() with an array of objects
12: */
13:
14: echo "*** Testing array_walk_recursive() : 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: array(
66: new MyClass(3),
67: new MyClass(10),
68: ),
69: new MyClass(20),
70: array(new MyClass(-10))
71: );
72:
73: echo "-- For private member --\n";
74: var_dump( array_walk_recursive($input, "callback_private", 1));
75: echo "-- For public member --\n";
76: var_dump( array_walk_recursive($input, "callback_public"));
77: echo "-- For protected member --\n";
78: var_dump( array_walk_recursive($input, "callback_protected"));
79:
80: echo "Done"
81: ?>
82: --EXPECTF--
83: *** Testing array_walk_recursive() : array of objects ***
84: -- For private member --
85: value : int(3)
86: key : int(0)
87: value : int(10)
88: key : int(1)
89: value : int(20)
90: key : int(1)
91: value : int(-10)
92: key : int(0)
93: bool(true)
94: -- For public member --
95: value : int(3)
96: value : int(10)
97: value : int(20)
98: value : int(-10)
99: bool(true)
100: -- For protected member --
101: value : int(3)
102: value : int(10)
103: value : int(20)
104: value : int(-10)
105: bool(true)
106: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>