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-- 32%unicode|string%(3) "foo" 33%unicode|string%(3) "foo" 34%unicode|string%(3) "bar" 35%unicode|string%(3) "bar" 36%unicode|string%(13) "%r\0%rtest%r\0%rvar_pri" 37%unicode|string%(12) "test_private" 38%unicode|string%(10) "%r\0%r*%r\0%rvar_pro" 39%unicode|string%(14) "test_protected" 40%unicode|string%(7) "var_pub" 41%unicode|string%(11) "test_public" 42 43Warning: array_walk_recursive() expects parameter 1 to be array, %unicode_string_optional% given in %s on line %d 44Done 45