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: 刚入职的小菜鸟随笔


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM