1--TEST--
2array_walk_recursive() and objects
3--FILE--
4<?php
5
6function walk($key, $value) {
7	var_dump($value, $key);
8}
9
10class test {
11	private $var_pri = "test_private";
12	protected $var_pro = "test_protected";
13	public $var_pub = "test_public";
14}
15
16$stdclass = new stdclass;
17$stdclass->foo = "foo";
18$stdclass->bar = "bar";
19array_walk_recursive($stdclass, "walk");
20
21$t = new test;
22array_walk_recursive($t, "walk");
23
24$var = array();
25array_walk_recursive($var, "walk");
26$var = "";
27array_walk_recursive($var, "walk");
28
29echo "Done\n";
30?>
31--EXPECTF--
32string(3) "foo"
33string(3) "foo"
34string(3) "bar"
35string(3) "bar"
36string(13) "%r\0%rtest%r\0%rvar_pri"
37string(12) "test_private"
38string(10) "%r\0%r*%r\0%rvar_pro"
39string(14) "test_protected"
40string(7) "var_pub"
41string(11) "test_public"
42
43Warning: array_walk_recursive() expects parameter 1 to be array, string given in %s on line %d
44Done
45