最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP數(shù)組編碼gbk與utf8互相轉(zhuǎn)換的兩種方法

 更新時(shí)間:2016年09月01日 10:50:48   投稿:daisy  
這篇文章給大家分享了兩種轉(zhuǎn)換的方法,都可以實(shí)現(xiàn)PHP數(shù)組的編碼進(jìn)行相互轉(zhuǎn)換。大家可以參考自己的實(shí)際情況進(jìn)行選擇哪一種方法,下面來一起看看吧。

一、利用var_export(), eval()方法

/**
 * 將含有GBK的中文數(shù)組轉(zhuǎn)為utf-8
 *
 * @param array $arr   數(shù)組
 * @param string $in_charset 原字符串編碼
 * @param string $out_charset 輸出的字符串編碼
 * @return array
 */
function array_iconv($arr, $in_charset="gbk", $out_charset="utf-8")
{
 $ret = eval('return '.iconv($in_charset,$out_charset,var_export($arr,true).';'));
 return $ret;
 // 這里轉(zhuǎn)碼之后可以輸出json
 // return json_encode($ret);
}

原理很簡單 var_export設(shè)置第二個(gè)參數(shù)為true,返回?cái)?shù)組原型字符串,將字符串轉(zhuǎn)換為utf-8編碼,之后再用eval來執(zhí)行返回(類似匿名函數(shù)?),至此完美解決問題。

eval() 函數(shù)小結(jié):

  條件:eval() 函數(shù)把字符串按照 PHP 代碼來計(jì)算。該字符串必須是合法的 PHP 代碼,且必須以分號(hào)結(jié)尾。

  如果沒有在代碼字符串中調(diào)用 return 語句,則返回 NULL。如果代碼中存在解析錯(cuò)誤,則 eval() 函數(shù)返回 false。

 $a ="hello";

 $res = eval("return $a;");

 print_r($res);

 // 在賦值時(shí)必須用反斜杠對$標(biāo)示符進(jìn)行轉(zhuǎn)義

 eval("\$str = \"$str\";");

 echo $str;

二、利用遞歸將數(shù)組轉(zhuǎn)碼

/**
 * UTF-8編碼 GBK編碼相互轉(zhuǎn)換/(支持?jǐn)?shù)組)
 *
 * @param array $str   字符串,支持?jǐn)?shù)組傳遞
 * @param string $in_charset 原字符串編碼
 * @param string $out_charset 輸出的字符串編碼
 * @return array
 */
function array_iconv($str, $in_charset="gbk", $out_charset="utf-8")
{
 if(is_array($str))
 {
 foreach($str as $k => $v)
 {
  $str[$k] = array_iconv($v);
 }
 return $str;
 }
 else
 {
 if(is_string($str))
 {
  // return iconv('UTF-8', 'GBK//IGNORE', $str);
  return mb_convert_encoding($str, $out_charset, $in_charset);
 }
 else
 {
  return $str;
 }
 }
}

總結(jié)

PHP將數(shù)組編碼gbk和utf-8相互轉(zhuǎn)換的內(nèi)容到這就基本結(jié)束了,文章介紹的很詳細(xì),具有一定的參考價(jià)值,希望這篇文章對大家的學(xué)習(xí)和工作能帶來一定的幫助。

相關(guān)文章

  • php實(shí)現(xiàn)xml數(shù)據(jù)轉(zhuǎn)數(shù)組兩種方式

    php實(shí)現(xiàn)xml數(shù)據(jù)轉(zhuǎn)數(shù)組兩種方式

    這篇文章主要為大家詳細(xì)介紹了php實(shí)現(xiàn)xml數(shù)據(jù)轉(zhuǎn)數(shù)組兩種方式的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以參考下
    2023-11-11
  • PHP使用xpath解析XML的方法詳解

    PHP使用xpath解析XML的方法詳解

    這篇文章主要介紹了PHP使用xpath解析XML的方法,結(jié)合實(shí)例形式詳細(xì)分析了Xpath語法以及通過Xpath解析xml文檔的操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-05-05
  • PHP實(shí)現(xiàn)的多維數(shù)組去重操作示例

    PHP實(shí)現(xiàn)的多維數(shù)組去重操作示例

    這篇文章主要介紹了PHP實(shí)現(xiàn)的多維數(shù)組去重操作,結(jié)合實(shí)例形式分析了php序列化json字符串及數(shù)組轉(zhuǎn)換、去重等相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • php中Y2K38的漏洞解決方法實(shí)例分析

    php中Y2K38的漏洞解決方法實(shí)例分析

    這篇文章主要介紹了php中Y2K38的漏洞解決方法,以實(shí)例形式對php中Y2K38的漏洞的原理及相應(yīng)的解決方法進(jìn)行了較為深入的分析,需要的朋友可以參考下
    2014-09-09
  • PHP冒泡排序算法代碼詳細(xì)解讀

    PHP冒泡排序算法代碼詳細(xì)解讀

    PHP冒泡排序算法代碼詳細(xì)解讀,需要學(xué)習(xí)php冒泡排序算法的朋友可以參考下。
    2011-07-07
  • PHP中include/require/include_once/require_once使用心得

    PHP中include/require/include_once/require_once使用心得

    include() 、require()語句包含并運(yùn)行指定文件。這兩結(jié)構(gòu)在包含文件上完全一樣,唯一的區(qū)別是對于錯(cuò)誤的處理。require()語句在遇到包含文件不存在,或是出錯(cuò)的時(shí)候,就停止即行,并報(bào)錯(cuò)。include()則繼續(xù)即行。
    2016-08-08
  • PHP實(shí)現(xiàn)的mongoDB數(shù)據(jù)庫操作類完整實(shí)例

    PHP實(shí)現(xiàn)的mongoDB數(shù)據(jù)庫操作類完整實(shí)例

    這篇文章主要介紹了PHP實(shí)現(xiàn)的mongoDB數(shù)據(jù)庫操作類,結(jié)合完整實(shí)例形式詳細(xì)分析了php基于單例模式針對mongoDB數(shù)據(jù)庫連接、增刪改查、統(tǒng)計(jì)等操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-04-04
  • php中0,null,empty,空,false,字符串關(guān)系的詳細(xì)介紹

    php中0,null,empty,空,false,字符串關(guān)系的詳細(xì)介紹

    本篇文章是對php中0,null,empty,空,false,字符串關(guān)系進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • php經(jīng)典算法集錦

    php經(jīng)典算法集錦

    這篇文章主要介紹了php經(jīng)典算法,實(shí)例分析了漢諾塔、排序、查找、遞歸等算法技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • php實(shí)現(xiàn)將普通數(shù)據(jù)轉(zhuǎn)化為json數(shù)據(jù)

    php實(shí)現(xiàn)將普通數(shù)據(jù)轉(zhuǎn)化為json數(shù)據(jù)

    在日常的開發(fā)工作中免不了要寫接口,json格式文本的輸出是制作接口必須掌握的,所以本文主要為大家詳細(xì)介紹了php如何將普通數(shù)據(jù)轉(zhuǎn)化為json數(shù)據(jù),需要的可以參考下
    2023-11-11

最新評(píng)論

珠海市| 启东市| 周至县| 泰安市| 舟曲县| 银川市| 十堰市| 澄迈县| 绵竹市| 南川市| 博白县| 冷水江市| 德化县| 沙湾县| 错那县| 红安县| 共和县| 盐亭县| 穆棱市| 隆尧县| 洪雅县| 扬州市| 大化| 广南县| 西充县| 双鸭山市| 凌云县| 瑞安市| 乃东县| 金山区| 丘北县| 嵩明县| 溧阳市| 翁源县| 保康县| 金塔县| 宁蒗| 大化| 治县。| 新巴尔虎右旗| 旌德县|