Come è possibile modificare sia chiavi che valori con array_walk_recursive
??array_walk_recursive - modifica di entrambe le chiavi e valori
Qui solo i valori sono codificati
function _utf8_encode($arr){
array_walk_recursive($arr, 'utf8_enc');
return $arr;
}
function utf8_enc(&$value, &$key){
$value = utf8_encode($value);
$key = utf8_encode($key);
}