PHP使用iconv函数遍历数组转换字符集

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
* 字符串/二维数组/多维数组编码转换
* @param string $in_charset
* @param string $out_charset
* @param mixed $data
**/

function array_iconv($data, $in_charset='GBK', $out_charset='UTF-8'){
if (!is_array($data)){
$output = iconv($in_charset, $out_charset, $data);
}elseif(count($data)===count($data, 1)){//判断是否是二维数组
foreach($data as $key => $value){
$output[$key] = iconv($in_charset, $out_charset, $value);
}
}else{
eval_r('$output = '.iconv($in_charset, $out_charset, var_export($data, TRUE)).';');
}
return $output;
}