<?php
$obj = (object) [
'a' => function(){ return 1; },
'b' => (object) [
'ba' => function(){ return 2; },
'bb' => (object) [
'bba' => function(){ return 3; }
]
]
];
PD9waHAKCiRvYmogPSAob2JqZWN0KSBbCiAgICAnYScgPT4gZnVuY3Rpb24oKXsgcmV0dXJuIDE7IH0sCiAgICAnYicgPT4gKG9iamVjdCkgWwogICAgICAgICdiYScgPT4gZnVuY3Rpb24oKXsgcmV0dXJuIDI7IH0sCiAgICAgICAgJ2JiJyA9PiAob2JqZWN0KSBbCiAgICAgICAgICAgICdiYmEnID0+IGZ1bmN0aW9uKCl7IHJldHVybiAzOyB9CiAgICAgICAgXQogICAgXQpdOwoKY2FsbF91c2VyX2Z1bmMoJG9iai0+YSk7CmNhbGxfdXNlcl9mdW5jKCRvYmotPmItPmJhKTsKY2FsbF91c2VyX2Z1bmMoJG9iai0+Yi0+YmItPmJiYSk7Cg==