首页 >后端开发 >PHP问题 >php如何对数组进行转码

php如何对数组进行转码

王林
王林原创
2021-06-10 14:42:162359浏览

php对数组进行转码的方法是,使用mb_convert_encoding函数转换字符的编码,例如【mb_convert_encoding($value, "UTF-8", "GB2312");】,表示转换GB2312编码为UTF-8。

php如何对数组进行转码

本文操作环境:windows10系统、php 7.3、thinkpad t480电脑。

下面分享了两种对数组进行转码的具体代码,供大家参考!

使用到的函数介绍:

array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新的值的数组。

函数语法:

array_map(myfunction,array1,array2,array3...)

参数:

  • myfunction    用户自定义函数的名称,或者是 null。    

  • array1    规定数组。    

  • array2    规定数组。    

  • array3    规定数组。    

mb_convert_encoding函数用来转换字符的编码。

说明:

mb_convert_encoding ( array|string $string , string $to_encoding , array|string|null $from_encoding = null ) : array|string|false

将 string 类型 str 的字符编码从可选的 from_encoding 转换到 to_encoding。 当参数 string 是一个 array 时,将递归转换它所有的 string 值。

转换GB2312编码为UTF-8

具体代码如下:

//更改编码为utf8
protected function array2utf8($array){
	$array = array_map(function($value){
		if(is_array($value)){
			return $this->array2utf8($value);
		} else{
			return mb_convert_encoding($value, "UTF-8", "GB2312");
		}
	}
	, $array);
	return $array;
}
  

转换UTF-8编码为GB2312

具体代码如下:

protected function array2gbk($array){
	$array = array_map(function($value){
		if(is_array($value)){
			return $this->array2gbk($value);
		} else{
			return mb_convert_encoding($value, "GB2312", "UTF-8");
		}
	}
	, $array);
	return $array;
}

相关视频分享:php视频教程

以上是php如何对数组进行转码的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn