Home >Backend Development >PHP Tutorial >php数组编码的转换方式

php数组编码的转换方式

WBOY
WBOYOriginal
2016-06-23 13:11:491318browse

第一种方式

$data = eval(‘return ‘.iconv(‘gbk’,’utf-8′,var_export($data,true)).';’);

在这里var_export函数可以输出或返回一个变量的字符串表示。此函数返回关于传递给该函数的变量的结构信息,它和 var_dump()

类似,不同的是其返回的表示是合法的php 代码。

可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。

下面就利用这一特性将数组转化为字符串然后再iconv接着再用eval函数将其还原为数组。这次结果正确显示了。

第二种方式

< ?phpclass arrayiconv{static protected $in;static protected $out;/*** 静态方法,该方法输入数组并返回数组** @param unknown_type $array 输入的数组* @param unknown_type $in 输入数组的编码* @param unknown_type $out 返回数组的编码* @return unknown 返回的数组*/static public function Conversion($array,$in,$out){self::$in=$in;self::$out=$out;return self::arraymyicov($array);}/*** 内部方法,循环数组** @param unknown_type $array* @return unknown*/static private function arraymyicov($array){foreach ($array as $key=>$value){$key=self::myiconv($key);if (!is_array($value)) {$value=self::myiconv($value);}else {$value=self::arraymyicov($value);}$temparray[$key]=$value;}return $temparray;}/*** 替换数组编码** @param unknown_type $str* @return unknown*/static private function myiconv($str){return iconv(self::$in,self::$out,$str);}}$b=array(“测试”=>array(“测试”=>”测试”,”测试”=>”测试”,”测试”=>array(“测试”=>”测试”)),”fasdf”=>”测试”,”测试”=>”测试 “);$a =arrayiconv::Conversion($b,”utf-8″,”gb2312″);print_r($a);?>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn