zoukankan      html  css  js  c++  java
  • 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;
    }

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

    1. 传入这两个函数的 $value,就是数组中的单一个元素。
    2. array_walk() 仅返回true或者falsearray_map() 返回处理后的数组;
    3. 要得到处理后的元素值,array_walk() 需要在传入参数值加 & 引用符号,array_map() 则需要return返回。

    这两种方式都可以实现同样的功能,选择其一即可。

  • 相关阅读:
    quickSort
    L1-3 宇宙无敌加法器
    deepin下用命令管理自己的Github仓库
    PAT 1008
    增量包算法,时间复杂度3n
    vue组件化-容器
    vue模块化设计
    语言语法糖Sugar
    虚拟dom节点,支持querySelector
    html语法树转html
  • 原文地址:https://www.cnblogs.com/phpfensi/p/7861218.html
Copyright © 2011-2022 走看看