php 数组 编码转换

数组需要转码,原本需要这样的方式:

unserialize(iconv('gbk','utf-8',serialize($array)));

 得到的结果是空白

借助var_export函数,最终函数如下:

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

 原理很简单 var_export设置第二个参数为true,返回数组原型字符串,将字符串转换为utf-8编码,之后再用eval来执行返回(类似匿名函数?),至此完美解决问题。

转自:http://sizeed.blog.163.com/blog/static/965254512011613576930/

你可能感兴趣的:(php 数组 编码转换)