当我们用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;
}
更多推荐
PHP用json_encode()将数组里面带有中文的字串保留以JSON格式返回
发布评论