php, php中文分词, php基础, json提交, 学习JS
后端开发-php教程
在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它。wap查询系统源码,语雀vscode插件,ubuntu磁盘配置,tomcat单独启动,sqlite生成的文件目录,零基础爬虫怎么学技能,php 获取图片的信息,潞城seo推广软件,web端仿途牛网站模板,风景介绍网页模板,微店模板怎么使用lzw
这个函数的功能是将数值转换成json数据存储格式。社群社交源码,ubuntu软件怎么设置,启动tomcat意味着什么,体育爬爬虫动作,php开发工程师量化指标,seo 编程知识lzw
$arr= array ( 'Name'=>'悟空', 'Age'=>5000 ); $jsonencode= json_encode($arr);echo$jsonencode;
程序运行结果如下:
免费直播源码,vscode调试xml,ubuntu进程卡死,语句开启tomcat,sqlite 取模,买个棋牌服务器,时间轴插件样式,前端框架zui模板,爬虫web平台,PHP06讲,seo好的外贸网站,帝国程序如何改网站标题,网页设计比赛源码,简单学校网站模板,bootstrap 页面加载效果,delphi 管理系统源码,58同城登信息程序lzw
{"Name":null,"Age":5000}
json_encode 函数中中文被编码成 null 了,Google 了一下,很简单,为了与前端紧密结合,Json 只支持utf-8 编码,我认为是前端的 Javascript 也是 utf-8 的原因。
$array= array ( 'title'=>iconv('gb2312','utf-8','这里是中文标题'), 'body'=>'abcd...' ); echojson_encode($array);
这个程序的运行结果为:
{"title":"\u8fd9\u91cc\u662f\u4e2d\u6587\u6807\u9898","body":"abcd..."}
数组中所有中文在json_encode之后都不见了或者出现\u2353等。
解决方法是用urlencode()函数处理以下,在json_encode之前,把所有数组内所有内容都用urlencode()处理一下,然用json_encode()转换成json字符串,最后再用urldecode()将编码过的中文转回来。
/************************************************************** * * 使用特定function对数组中所有元素做处理 * @param string &$array 要处理的字符串 * @param string $function 要执行的函数 * @return boolean $apply_to_keys_also 是否也应用到key上 * @access public * *************************************************************/ function arrayRecursive(&$array, $function, $apply_to_keys_also = false) { static $recursive_counter = 0; if (++$recursive_counter > 1000) { die('possible deep recursion attack'); } foreach ($array as $key => $value) { if (is_array($value)) {arrayRecursive($array[$key], $function, $apply_to_keys_also); } else {$array[$key] = $function($value); } if ($apply_to_keys_also && is_string($key)) {$new_key = $function($key);if ($new_key != $key) { $array[$new_key] = $array[$key]; unset($array[$key]);} } } $recursive_counter--; } /************************************************************** * * 将数组转换为JSON字符串(兼容中文) * @param array $array 要转换的数组 * @return string 转换得到的json字符串 * @access public * *************************************************************/ function JSON($array) { arrayRecursive($array, 'urlencode', true); $json = json_encode($array); return urldecode($json); } $array = array ( 'Name'=>'悟空, 'Age'=>5000 ); echo JSON($array);
这次成功了,运行结果如下:
{“Name”:”悟空”,”Age”:”5000″}