Heim  >  Artikel  >  Backend-Entwicklung  >  php数组编码的转换方式

php数组编码的转换方式

WBOY
WBOYOriginal
2016-06-23 13:11:491298Durchsuche

第一种方式

$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);?>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn