函数PHP json_encode() 函数取值介绍

json_encode  时间:2021-01-26  阅读:()

PHP json_encode() 函数取值介绍

在php中使用json_encode() 内置函数(php > 5. 2)可以使用得php中数据可以与其它语言很好的传递并且使用它。

/------------------------------------------------------php转为json编码:$json_string=json_encode($php_obj) ;json转为php解码:$php_obj=json_decode($json_string) ;/------------------------------------------------------

这个函数的功能是将数值转换成json数据存储格式。 <?php$arr = arr ay

(

'Age'=>20

) ;

$jsonencode = json_encode($arr) ;echo $jsonencode;

?>

程序运行结果如下view sourceprint?1 {"Name":null, "Age":20}

<?php

$arr = arr ay

(

'Age'=>20

) ;

$jsonencode = json_encode($arr) ;echo $jsonencode;

?>

程序运行结果如下view sourceprint?1 {"Name":null, "Age":20}json_encode函数中中文被编码成null了 Google了一下很简单为了与前端紧密结合 Json只支持utf-8编码我认为是前端的Javascript也是utf-8的原因。

<?php

$array = array

(

' title'=>iconv('gb2312' , 'utf-8' , '这里是中文标题' ) ,

'body'=>'abcd. . . '

) ;echo json_encode($array) ;

?>

这个程序的运行结果为

{"title":"\u8fd9\u91cc\u662f\u4e2d\u6587\u6807\u9898", "body":"abcd. . . "}

数组中所有中文在json_encode之后都不见了或者出现\u2353等。解决方法是用urlencode()函数处理以下在json_encode之前把所有数组内所有内容都用urlencode()处理一下然用json_encode()转换成json字符串最后再用urldecode()将编码过的中文转回来。<?php

/**********************************************************

****

*

* 使用特定funct i on对数组中所有元素做处理

* @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) {i f (is_array($value)) {arrayRecursive($array[$key], $funct ion,

$apply_to_keys_also) ;

} else {

$array[$key] = $funct ion($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--;

}

/**********************************************************

****

*

* 将数组转换为JS ON字符串兼容中文

* @param array $array 要转换的数组

* @return string 转换得到的json字符串

* @access public

*

***********************************************************

**/function JSON($array) {arrayRecurs ive($array, 'urlencode' , true) ;

$j son = json_encode($array) ;return urldecode($json) ;

}

$array = array

(

'Age'=>20

) ;echo JSON($array) ;

?>

这次成功了运行结果如下

{"Name":"希亚", "Age":"20"}

Letbox(35美元/年),美国洛杉矶VPS终身7折

Letbox 云服务商在前面的文章中其实也有多次介绍,这个服务商其实也算是比较老牌的海外服务商,几年前我也一直有使用过他们家的VPS主机,早年那时候低至年付15-35美元左右的VPS算式比较稀缺的。后来由于服务商确实比较多,而且也没有太多的网站需要用到,所以就没有续费,最近这个服务商好像有点活动就躁动的发布希望引起他人注意。这不有看到所谓的家中有喜事,应该是团队中有生宝宝了,所以也有借此来发布一些...

ZJI-全场八折优惠,香港服务器 600元起,还有日本/美国/韩国服务器

月付/年付优惠码:zji  下物理服务器/VDS/虚拟主机空间订单八折终身优惠(长期有效)一、ZJI官网点击直达ZJI官方网站二、特惠香港日本服务器香港大埔:http://hkdb.speedtest.zji.net/香港葵湾:http://hkkw.speedtest.zji.net/日本大阪:http://jpsk.speedtest.zji.net/日本大阪一型 ...

TNAHosting($5/月)4核/12GB/500GB/15TB/芝加哥机房

TNAHosting是一家成立于2012年的国外主机商,提供VPS主机及独立服务器租用等业务,其中VPS主机基于OpenVZ和KVM架构,数据中心在美国芝加哥机房。目前,商家在LET推出芝加哥机房大硬盘高配VPS套餐,再次刷新了价格底线,基于OpenVZ架构,12GB内存,500GB大硬盘,支持月付仅5美元起。下面列出这款VPS主机配置信息。CPU:4 cores内存:12GB硬盘:500GB月流...

json_encode为你推荐
316不锈钢和304哪个好304和316不锈钢区别哪个好浏览器哪个好什么浏览器最好用?天气预报哪个好用哪个最准确分小时的那种天气预报app,哪个准确方便使用朗逸和速腾哪个好速腾和朗逸哪个更好?炒股软件哪个好什么炒股软件比较好用?dnf魔枪士转职哪个好DNF魔枪士转职转哪个好 决战者征战者转职车险哪个好私家车买什么保险好红茶和绿茶哪个好红茶和绿茶哪个好?播放器哪个好安卓手机视频播放器哪个好点行车记录仪哪个好行车记录仪什么牌子好
花生壳域名 老域名 政务和公益机构域名注册管理中心 中文域名申请 新网域名管理 主机点评 外贸主机 mach5 圣迭戈 isatap 512au typecho 一点优惠网 免费ddos防火墙 商家促销 panel1 193邮箱 太原网通测速平台 美国盐湖城 中国linux 更多