Иногда бывает так, что мы получаем массив, в котором элементы имеют кодировку, которая нам без надобности. Необходимо преобразовать все элементы массива в нужную нам кодировку. Когда массив одномерный – это не составляет труда. Но когда мы имеем многомерный массив, могут возникнуть трудности – нам ведь надо опускаться на неопределенную глубину. Следующая маленькая функция решит эту тривиальную задачу:
function iconvArray($inputArray,$newEncoding){
$outputArray=array();
if ($newEncoding!=''){
if (!empty($inputArray)){
foreach ($inputArray as $element){
if (!is_array($element)){
$element=iconv(mb_detect_encoding($element),
$newEncoding,$element);
} else {
$element=$this->iconvArray($element);
}
$outputArray[]=$element;
}
}
}
return $outputArray;
}
Просто и… рекурсивно