I would simply like to merge
$a = array(\"59745506\"=>array(\"up\" => 0,));
$b = array(\"59745506\"=>array(\"text\" => \"jfrj\"));
$c = array_me
Your expectation fails as the key of the $a and $b is numeric(!), even though you denoted it as a string literal (cf. PHP: Arrays -> Syntax).
I think whether or not there is a better solution depends on what you exactly need. It might be simpler than merging recursively:
1) Are you sure that every value inside the $a and $b arrays will always be an array again?
2) What is supposed to happen if these arrays share a common key (i.e. if "text" was again "up" in your example)? Keep merging recursively or not?