亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php數組轉編碼的方法

發布時間:2020-08-19 09:30:10 來源:億速云 閱讀:224 作者:小新 欄目:編程語言

這篇文章主要介紹了php數組轉編碼的方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

php數組轉編碼的方法:1、使用iconv函數遍歷數組轉換字符集;2、利用var_export和eval方法實現轉換;3、利用遞歸將數組進行轉碼。

php數組轉編碼的方法

PHP數組中文字符編碼互相轉換的三種解決方法

一、使用iconv函數遍歷數組轉換字符集

/*
* 字符串/二維數組/多維數組編碼轉換
* @param string $in_charset
* @param string $out_charset
* @param mixed $data
*/
function array_iconv($data, $in_charset='GBK', $out_charset='UTF-8'){
if (!is_array($data)){
$output = iconv($in_charset, $out_charset, $data);
}elseif(count($data)===count($data, 1)){//判斷是否是二維數組
foreach($data as $key => $value){
$output[$key] = iconv($in_charset, $out_charset, $value);
}
}else{
eval_r('$output = '.iconv($in_charset, $out_charset, var_export($data,
TRUE)).';');
}
return $output;
}

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

/** * 將含有GBK的中文數組轉為utf-8 * * @param array $arr 數組 * @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; // 這里轉碼之后可以輸出json // return json_encode($ret); }

原理很簡單

var_export設置第二個參數為true,返回數組原型字符串,將字符串轉換為utf-8編碼,之后再用eval來執行返回(類似匿名函數?),至此完美解決問題。

eval() 函數小結:

條件:eval() 函數把字符串按照 PHP 代碼來計算。該字符串必須是合法的 PHP 代碼,且必須以分號結尾。

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

$a ="hello"; $res = eval("return $a;"); print_r($res); //

在賦值時必須用反斜杠對$標示符進行轉義 eval("\$str = \"$str\";"); echo $str;

三、利用遞歸將數組轉碼(當eval被禁用時)

/** * UTF-8編碼 GBK編碼相互轉換/(支持數組) * * @param array $str 字符串,支持數組傳遞 * @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; } } }

感謝你能夠認真閱讀完這篇文章,希望小編分享php數組轉編碼的方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙州县| 射阳县| 大新县| 望江县| 贵南县| 清镇市| 垫江县| 南平市| 丰顺县| 长兴县| 疏勒县| 海门市| 古丈县| 高邑县| 丰顺县| 和硕县| 鄂伦春自治旗| 赣州市| 汉阴县| 宜阳县| 旺苍县| 桦川县| 凌源市| 慈利县| 怀集县| 松滋市| 盐边县| 娄底市| 仁怀市| 米脂县| 思南县| 大荔县| 闽侯县| 高安市| 临湘市| 玛曲县| 彩票| 右玉县| 明星| 姜堰市| 昆明市|