函数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"}

GigsGigsCloud:$16/月KVM-1GB/30GB/1TB/1.6T高防/洛杉矶CN2 GIA+AS9929

GigsGigsCloud是一家成立于2015年老牌国外主机商,提供VPS主机和独立服务器租用,数据中心包括美国洛杉矶、中国香港、新加坡、马来西亚和日本等。商家VPS主机基于KVM架构,绝大部分系列产品中国访问速度不错,比如洛杉矶机房有CN2 GIA、AS9929及高防线路等。目前Los Angeles - SimpleCloud with Premium China DDOS Protectio...

RackNerd 2022春节促销提供三款年付套餐 低至年付10.88美元

RackNerd 商家我们应该是比较熟悉的商家,速度一般,但是人家便宜且可选机房也是比较多的,较多集中在美国机房。包括前面的新年元旦促销的时候有提供年付10美元左右的方案,实际上RackNerd商家的营销策略也是如此,每逢节日都有活动,配置简单变化,价格基本差不多,所以我们网友看到没有必要囤货,有需要就选择。RackNerd 商家这次2022农历新年也是有几款年付套餐。低至RackNerd VPS...

小白云 (80元/月),四川德阳 4核2G,山东枣庄 4核2G,美国VPS20元/月起三网CN2

小白云是一家国人自营的企业IDC,主营国内外VPS,致力于让每一个用户都能轻松、快速、经济地享受高端的服务,成立于2019年,拥有国内大带宽高防御的特点,专注于DDoS/CC等攻击的防护;海外线路精选纯CN2线路,以确保用户体验的首选线路,商家线上多名客服一对一解决处理用户的问题,提供7*24无人全自动化服务。商家承诺绝不超开,以用户体验为中心为用提供服务,一直坚持主打以产品质量用户体验性以及高效...

json_encode为你推荐
电脑内存条价格电脑内存8G大概多少钱啊我先换内存了百度空间首页如何上百度空间首页304和316不锈钢哪个好304与316用哪个好?锦天城和君合哪个好合肥和君纵达好吗?985和211哪个好211的院校和985的那个好?手机杀毒哪个好手机杀毒软件哪个最好用车险哪个好人保和平安车险哪个好qq空间登录界面我的手机QQ打开应该是九个选项,什么空间,但是现在打开怎么直接是QQ登录界面,这个撇手机考生个人空间登录如何找回 自考考生个人空间的密码?360云盘360云盘和百度云盘哪个更好
cc域名 厦门域名注册 pw域名 linode l5520 账号泄露 patcha 彩虹ip 股票老左 域名接入 129邮箱 国外代理服务器软件 免费活动 微软服务器操作系统 web服务器安全 爱奇艺会员免费试用 根服务器 厦门电信 百度云加速 dnspod 更多