PHP的array_walk和array_map函数实现数组值UTF-8转GBK编码
Posted 壁虎漫步.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP的array_walk和array_map函数实现数组值UTF-8转GBK编码相关的知识,希望对你有一定的参考价值。
在php中,array_walk()
和 array_map()
两个函数都可以实现对数组中每个值的修改,比如本例就是将数组中所有的值,由UTF-8编码转成GBK编码。
当然,除了这两个函数,也可以用 foreach
遍历数组实现,不过,相比于直接用 PHP 的内部函数,显然效率更低并且不够优雅。
array_wark()
实现方式如下:
function array2gbk($array)
{
array_walk($array, function(&$value) {
$value = iconv(‘utf-8‘, ‘gbk‘, $value);
});
return $array;
}
array_map()
实现方式如下:
function array2gbk($array)
{
$array = array_map(function($value){
return iconv(‘utf-8‘, ‘gbk‘, $value);
}, $array);
return $array;
}
由此也可以看出这两个函数的共性和区别:
- 传入这两个函数的 $value,就是数组中的单一个元素。
array_walk()
仅返回true
或者false
,array_map()
返回处理后的数组;- 要得到处理后的元素值,
array_walk()
需要在传入参数值加&
引用符号,array_map()
则需要return
返回。
这两种方式都可以实现同样的功能,选择其一即可。
以上是关于PHP的array_walk和array_map函数实现数组值UTF-8转GBK编码的主要内容,如果未能解决你的问题,请参考以下文章
PHP:数组操作函数array_walk()和array_map()
PHP:数组操作函数array_walk()和array_map()
PHP:数组操作函数array_walk()和array_map()