> 地理
phpjso函数实现方法(php中jsodecode())
在生活中,很多人可能想了解和弄清楚php函数 json_encode注意点的相关问题?那么关于php json函数实现方法的答案我来给大家详细解答下。
在使用php编程的场景中,总有一些情况下需要将数组转为json字符串,就需要用到php自带的json_encode函数;
但是当数组中含有中文字符串时,转出来的结果却是以下结果(unicode字符串):
<?php $tmpArr = array( &39; => &39;, &39; => &39;, &39; => &39;, &39; => &39; ); $tmpJson = json_encode($tmpArr); echo $tmpJson;输出:{&34;:&34;,&34;:&34;,&34;:&34;,&34;:&34;}
要想中文不被转为unicode字符串,只需要给json_encode函数中传入一个参数JSON_UNESCAPED_UNICODE即可,如下:
<?php $tmpArr = array( &39; => &39;, &39; => &39;, &39; => &39;, &39; => &39; ); $tmpJson = json_encode($tmpArr,JSON_UNESCAPED_UNICODE); echo $tmpJson;输出:{&34;:&34;,&34;:&34;,&34;:&34;,&34;:&34;}
但是PHP版本<5.4.0中并不支持以上参数JSON_UNESCAPED_UNICODE,这个时候我们可以通过以下方式解决:
$tmpArr = array( &39; => &39;, &39; => &39;, &39; => &39;, &39; => &39; ); $tmpJson = json_encode($tmpArr); $tmpJson = preg_replace_callback(&\\\u([0-9a-f]{4})34;,function($matchs){ return iconv(&39;, &39;, pack(&39;, $matchs[1])); },$tmpJson); echo $tmpJson;输出:{&34;:&34;,&34;:&34;,&34;:&34;,&34;:&34;}
好了,今天的分享就到这里,如果喜欢我的内容,欢迎转发~~
下期见!
温馨提示:通过以上关于php函数 json_encode注意点内容介绍后,相信大家有新的了解,更希望可以对你有所帮助。