PHP用json_encode()將數組裡面帶有中文的字串保留以JSON格式返回
阿新 • • 發佈:2019-02-07
當我們用PHPjson_encode()就會發現用這個函式後數組裡面的中文也轉為unicode,但是有時候我們想保留裡面的中文顯示,這就需要我們去寫一些函式去實現這一功能,但之前上網找了一些相關的資料但效果都不是很好,決定自己寫一個試試,下面是我這兩天寫的一個函式,提供大家參考,多多提出一些好的見議:
/** * 將數組裡面帶有中文的字串保留以JSON格式返回 * * @param array $arr 陣列 * @return string JSON格式的字串 */ public function toJson($arr) { $ajax = ToUrlencode($arr); $str_json = json_encode($ajax); return urldecode($str_json); } /** * 將數組裡面帶有中文的字串用urlencode轉換格式返回 * * @param array $arr 陣列 * @return array */ public function ToUrlencode($arr) { $temp = array(); if (is_array($arr)) { foreach ($arr AS $key => $row) { $temp[$key] = $row; if (is_array($temp[$key])) { $temp[$key] = ToUrlencode($temp[$key]); } else { $temp[$key] = urlencode($row); } } } else { $temp = $arr; } return $temp; }