用構建數組原型的序列化方法,借助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來執行返回(類似匿名函數?),至此完美解決問題。
一聚教程小編還有一個想法,就是利用foreach遍歷數組然後再利用iocnv函數起先一個個轉換了,不過這樣轉換的是把數組值進行轉換了。