Fácil, como te he dicho tienes dos opciones: por valor de retorno o por referencia.
Retorno:
Código PHP:
function re($input) {
$output = array();
foreach ($input as $key => $value) {
if (! is_array($value)) {
$output[$key] = $value;
} else {
$output[$key] = re($value);
}
}
return $output;
}
$new = re($old);
Referencia:
Código PHP:
function re(&$input) {
foreach ($input as $key => $value) {
if (! is_array($value)) {
$input[$key] = $value;
} else {
re($value);
}
}
}
re($old);
Para tu caso es mejor por retorno pues estás reescribiendo datos de una forma en otra, la referencia es un poco mas complicada de lidiar pues debes borrar valores previos, etc.