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"}
imidc对日本独立服务器在搞特别促销,原价159美元的机器现在只需要88美元,而且给13个独立IPv4,30Mbps直连带宽,不限制流量。注意,本次促销只有一个链接,有2个不同的优惠码,你用不同的优惠码就对应着不同的配置,价格也不一样。88美元的机器,下单后默认不管就给512G SSD,要指定用HDD那就发工单,如果需要多加一个/28(13个)IPv4,每个月32美元...官方网站:https:...
搬瓦工最近上线了一个新的荷兰机房,荷兰 EUNL_9 机房,这个 9 的编号感觉也挺随性的,之前的荷兰机房编号是 EUNL_3。这次荷兰新机房 EUNL_9 采用联通 AS9929 高端路线,三网都接入了 AS9929,对于联通用户来说是个好消息,又多了一个选择。对于其他用户可能还是 CN2 GIA 机房更合适一些。其实对于联通用户,这个荷兰机房也是比较远的,相比之下日本软银 JPOS_1 机房可...
捷锐数据官网商家介绍捷锐数据怎么样?捷锐数据好不好?捷锐数据是成立于2018年一家国人IDC商家,早期其主营虚拟主机CDN,现在主要有香港云服、国内物理机、腾讯轻量云代理、阿里轻量云代理,自营香港为CN2+BGP线路,采用KVM虚拟化而且单IP提供10G流量清洗并且免费配备天机盾可达到屏蔽UDP以及无视CC效果。这次捷锐数据给大家带来的活动是香港云促销,总共放量40台点击进入捷锐数据官网优惠活动内...