public static function array_merge_map_recursive($r1, $r2) { $merged = array(); foreach ($r1 as $k => $v) { if (!isset($r2[$k])) { $merged[$k] = $v; } elseif (!is_array($v)) { $merged[$k] = $r2[$k]; } else { $merged[$k] = ESSBIS_Utils::array_merge_map_recursive($v, $r2[$k]); } } return $merged; }