php json_encode 数组,关于json_encode的数组转json问题

我要把一个数组转为json

数组本来输出是这样

print_r($arrary);//输出结果:Array ([0] => upload/2013/05/09/14303.jpeg [1] => upload/2013/05/09/14300.jpeg [2] => upload/2013/05/09/148.jpeg [3] => upload/2013/05/09/187.jpeg [4] => upload/2013/05/09/14296.jpeg [5] => upload/2013/05/09/203.jpeg ) $jarr=json_encode($arrary);//把数组转为jsonprint_r($jarr);//输出结果:["upload\/2013\/05\/09\/14303.jpeg","upload\/2013\/05\/09\/14300.jpeg","upload\/2013\/05\/09\/148.jpeg","upload\/2013\/05\/09\/187.jpeg","upload\/2013\/05\/09\/14296.jpeg","upload\/2013\/05\/09\/203.jpeg"]

这是怎么回事,json为什么没有键?不是应该是"0":upload/2013/05/09/14303.jpeg 这样的吗?而且原本数组中存的url中多了许多"\" 原来只有"/"的,这是怎么回事?

回复讨论(解决方案)

json数据格式就是这样的,js里调用是没有问题的。

json数据格式就是这样的,js里调用是没有问题的。

但是我看网上的教程不都是"0":upload/2013/05/09/14303.jpeg这样的吗? 而且这个“\”出现是什么原因?

json数据格式就是这样的,js里调用是没有问题的。

但是我看网上的教程不都是"0":upload/2013/05/09/14303.jpeg这样的吗? 而且这个“\”出现是什么原因?

反斜杠\是转义字符的

要是有中文会转码 先 urlencode 再 urldecode就没有 \ 中文也行

虽然没有键名,不过不是有,吗

JS的数组的写法和PHP的还是有一定区别的,不是键名=》键值,而是用,隔开

var ar=["upload\/2013\/05\/09\/14303.jpeg","upload\/2013\/05\/09\/14300.jpeg","upload\/2013\/05\/09\/148.jpeg","upload\/2013\/05\/09\/187.jpeg","upload\/2013\/05\/09\/14296.jpeg","upload\/2013\/05\/09\/203.jpeg"];

这里面的ar[0]就是 upload/2013/05/09/14303.jpeg

\是为了转义/用的,不止是/还有*()等符号在你输出的时候前面都会被加上\,因为它们比较特殊

如果键名是数字,会自动隐藏掉

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值