PHP转换数组的字符编码

看到网上很多都是使用eval这个危险函数去转码,如:

function array_iconv($in_charset,$out_charset,$arr)
{
return eval('return '.iconv($in_charset,$out_charset,var_export($arr,true).';'));
}

但是很多项目都是禁止一些危险函数的使用的,所以可以使用数组遍历的方式去代替这个方法,做法很简单:

// 第一个参数为当前编码,第二个参数为转换后的编码,第三个参数是一维或者二维数组
function array_iconv($in_charset,$out_charset,$arr)
{
foreach($arr as $k => &$v){
if(is_array($v)){
foreach($v as $kk => &$vv){
$vv = iconv($in_charset,$out_charset,$vv);
}
}else{
$v = iconv($in_charset,$out_charset,$v);
}
}
return $arr;
}

 

ps: 刚入职的小菜鸟随笔

posted @ 2019-05-11 09:07  养猫的小伙子  阅读(1319)  评论(0编辑  收藏  举报