1. 程式人生 > >php實現對數組進行編碼轉換

php實現對數組進行編碼轉換

spa RR span map protect 更改 ray utf-8 編碼轉換

1.轉換GB2312編碼為UTF-8

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

2.轉換UTF-8編碼為GB2312

//更改編碼為gb2312
protected function array2gbk($array){
$array = array_map(function($value){
if(is_array($value)){
$this->array2gbk($value);
}else{
return mb_convert_encoding($value, "GB2312", "UTF-8");
}
}, $array);
return $array;
}
 

3.另外可以使用其他方式,參考:https://www.awaimai.com/836.html

  這其中用到了兩種不同的函數,array_walk() 和 array_map()兩個函數都可以實現對數組中每個值的修改

  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;
}

php實現對數組進行編碼轉換