91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

荥阳市| 东辽县| 南漳县| 资阳市| 陇西县| 新源县| 千阳县| 民权县| 祁门县| 四平市| 田阳县| 桐庐县| 南木林县| 林周县| 临颍县| 西吉县| 福鼎市| 桑日县| 宁安市| 清涧县| 房产| 保康县| 上饶县| 茶陵县| 民乐县| 手游| 开鲁县| 淮南市| 汕尾市| 浠水县| 广昌县| 巴林右旗| 安图县| 盐山县| 台东市| 柳州市| 寿宁县| 湘西| 莲花县| 阿尔山市| 北流市|