QQ咨询 官方微信

添加微信好友

官方小程序

百度小程序

微信小程序

头条小程序

关于我们

PHP基础

PHP的array_walk和array_map函数实现数组值UTF-8转GBK编码

 admin  2019-01-07 23:26:25
在PHP中,array_walk() 和 array_map()两个函数都可以实现对数组中每个值的修改,比如本例就是将数组中所有的值,由UTF-8编码转成GBK编码。

当然,除了这两个函数,也可以用 foreach 遍历数组实现,不过,相比于直接用 PHP 的内部函数,显然效率更低并且不够优雅。

array_wark() 实现方式如下:

  1. function array2gbk($array) 
  2.     array_walk($array, function(&$value) { 
  3.         $value = iconv('utf-8''gbk', $value); 
  4.     }); 
  5.  
  6.     return $array; 

array_map() 实现方式如下:

  1. function array2gbk($array) 
  2.     $array = array_map(function($value){ 
  3.         return iconv('utf-8''gbk', $value); 
  4.     }, $array); 
  5.  
  6.     return $array; 

由此也可以看出这两个函数的共性和区别:

传入这两个函数的 $value,就是数组中的单一个元素。
array_walk() 仅返回true或者false,array_map() 返回处理后的数组;
要得到处理后的元素值,array_walk() 需要在传入参数值加 & 引用符号,array_map() 则需要return返回。
这两种方式都可以实现同样的功能,选择其一即可。

实例:
  1. function array2utf($data){ 
  2.         if(is_array($data)){ 
  3.             return array_map('array2utf', $data); 
  4.         } 
  5.         return iconv('gbk''utf-8//IGNORE', $data); 
  6.     } 

¥ 打赏
×
如果您觉得文章帮助了您就打赏一下吧
非常感谢你的打赏,我们将继续分享更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

本文《PHP的array_walk和array_map函数实现数组值UTF-8转GBK编码》发布于石头博客文章,作者:admin,如若转载,请注明出处:https://www.pweb123.com/html/php/761.html,否则禁止转载,谢谢配合!

文章点评

我来说两句 已有0条评论
点击图片更换

添加微信好友

添加微信好友

微信小程序

百度小程序