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