php json转数组示例,php json转数组的例子

php json转数组是一个非常方便实现的因为json存储的格式有规则的所以php也自带了函数了,我们只需要使用对应的函数就可以实现了,具体如下。

PHP中将数组转变成Json

强大的PHP已经提供了内置函数:json_encode() 和 json_decode()。很容易理解,json_encode()就是将PHP数组转换成Json。相反,json_decode()就是将Json转换成PHP数组。

例如,代码如下:

$array=array("name"=>"Eric","age"=> 23);

echojson_encode($array);

程序将打印出:

{“name”:”Eric”,”age”:23}

再看下面的例子:

$array=array(0 =>"Eric", 1 => 23);

echojson_encode($array);

程序将打印出 :["Eric",23]

以上两个例子可以看出,如果PHP数组的键都是数字,那么json_encode()返回一个数组形式的Json,如果PHP数组的键全是字符串,那么json_encode()就会返回一个对象形式的Json,刚已经说过,两者在js中的调用是不同的.

事实上,只要在PHP数组的键中有一个字符串形式的键,那么json_encode()就会返回对象形式的Json,这是不正确的,因为,虽然在PHP代码中不会出现错误,但要是将这样的Json传给JS函数,JS会将此Json当做一个对象,而对象是不可能以数字作为属性名的,也就是说JS 不知道这是什么:user.0.username(中间是数字零).

例子,代码如下:

$json_arr=array('WebName'=>'PHP网站开发教程网','WebSite'=>'http://www.phpfensi.com');

$php_json= json_encode($json_arr);//把php数组格式转换成 json 格式的数据

echo$php_json;

$php_json= json_decode($php_json);//再把json格式的数据转换成php数组

print_r($php_json);

json数组

$json = '[{"id":"22","name":"33","descn":"44"}]';   //json格式的数组转换成 php的数组

$arr = (Array)json_decode($json);

echo $arr[0]->id;  //用对象的方式访问

json转换数据后面参数要带ture,代码如下:

$a= <<

{

"scoreInfo": {

"isB2cSeller": true,

"noMark": false,

"merchandisScore":"5.0",

"merchandisTotal": 1,

"width": 100

},

"rateListInfo": {

"watershed": 100,

"paginator": {

"beginIndex": 1,

"endIndex": 1,

"firstPage": 1,

"items": 1,

"itemsPerPage": 8,

"lastPage": 1,

"length": 1,

"offset": 0,

"page": 1,

"pages": 1

},

"rateList": [

{

"aliMallSeller": false,

"anony": true,

"auctionSku":"颜色分类:蓝+黑;尺码:36",

"award":"",

"b2CSeller": false,

"dispalyRateLevel1": 0,

"dispalyRateLevel2": 0,

"dispalyRateSum": 0,

"displayRatePic":"",

"displayUserLink":"http://i.taobao.com/u/MTExNTE1Mjk5MQ==/tlive/taodan_list.htm?from=rate",

"displayUserNick":"l***1",

"displayUserNumId": 0,

"displayUserRateLink":"http://rate.taobao.com/rate.htm?user_id=0&rater=1",

"displayUserSeller": false,

"fee dAppendedDO": null,

"fromB2cMapping": false,

"fromMall": false,

"fromOnePai": false,

"fromVirtualHurling": false,

"gapDates": 0,

"id": 63810867055,

"rateContent":"卖家的服务态度真好,你家的鞋子更是超值,5分,还要在买别的款。",

"rateDate":"2013.04.14 16:50:11",

"rateResult": 1,

"ratedUserNumId": 361988210,

"reply":"",

"shareInfo": null,

"tag":"",

"tradeClosingdate": null,

"type": 0,

"userVipLevel": 0

}

],

"showMore": 0

},

"babyRateJsonList":"uri: /detailRate.vm cacheTime: 2013-04-26 22:07:24 key: 9fb7a9a5d419da77465797ce1809367c cacheArea: 531 aliveTime: 14400 cacheType: PAGE_CACHE_PAGE_TYPE",

"detailRate":"uri: /detailRate.vm cacheTime: 2013-04-26 22:07:24 key: 9fb7a9a5d419da77465797ce1809367c cacheArea: 531 aliveTime: 14400 cacheType: PAGE_CACHE_PAGE_TYPE"

}

EOD;

var_dump(json_decode($a,1));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值