php 中如何输出这样的 json 数据?

2014-11-30 21:42:21 +08:00
 EXDestroyer
{"src":'426284.jpg'},{"src":'426276.jpg'},{"src":'426276.jpg'},{"src":'Karas.jpg'}

刚学php,键值都是相同的,不知道怎么输出,尝试输出但是相同键值的都合并了
3043 次点击
所在节点    问与答
18 条回复
rrkelee
2014-11-30 21:48:01 +08:00
感觉是个x-y problem,←_←
Paranoid
2014-11-30 21:49:54 +08:00
$_ = array(
array('src' => '426284.jpg' ) ,
array('src' => '426284.jpg' ) ,
array('src' => '426284.jpg' ) ,
array('src' => '426284.jpg' )
);

echo json_encode($_);
orvice
2014-11-30 22:11:13 +08:00
json_encode
EXDestroyer
2014-11-30 22:13:41 +08:00
@Paranoid 我是获取了文件名列表,然后需要加上src的键值src,所以是用array_combine合并的,输出的结果只有第一项
lincanbin
2014-11-30 22:13:47 +08:00
这显然是一个list,list里的元素是独立的dict。
2楼是对的。
EXDestroyer
2014-11-30 22:17:37 +08:00
@orvice 知道,但是我是获取了文件名列表,然后需要加上src的键值,所以是用array_combine合并的,最后输出的结果只有第一项
alex321
2014-11-30 22:22:32 +08:00
我好奇为毛要键值相同,这种可重复的东西在程序中应该系可能避免。。
输出后,前端接着遍历添加 src 不好么。。
比如,js 获取到了用 each 或者 foreach 处理就好哇。
EXDestroyer
2014-11-30 22:25:52 +08:00
@alex321 。。好的我试试
EXDestroyer
2014-11-30 22:54:46 +08:00
@lincanbin 不对..他那样输出的结果会合并只有第一个数据..
EXDestroyer
2014-11-30 22:57:03 +08:00
@lincanbin 弄错了..确实是对的,刚才看错~
Paranoid
2014-11-30 22:58:26 +08:00
@EXDestroyer 。。。 首先,你要明白 产生你这样的 json 数据原数据需要什么样的结构 ?第二,array_combine 的怎么用的!
iyaozhen
2014-11-30 23:05:29 +08:00
@EXDestroyer 我一般简单、粗暴,构造数组,一个个push进去。或者直接给前端传文件名列表。
lincanbin
2014-11-30 23:48:38 +08:00
watsy0007
2014-12-01 11:17:08 +08:00
{"src":'426284.jpg'},{"src":'426276.jpg'},{"src":'426276.jpg'},{"src":'Karas.jpg'}

很明显是这样的
{"src":{'426284.jpg','426276.jpg','426276.jpg','Karas.jpg'}
a591826944
2014-12-01 11:38:39 +08:00
既然键值都相同 那还要键值干啥?
EXDestroyer
2014-12-01 12:05:42 +08:00
@a591826944 原谅我打错了。。键名才对
EXDestroyer
2014-12-01 12:05:59 +08:00
@lincanbin 暂时不想用库
EXDestroyer
2014-12-01 12:06:13 +08:00
@watsy0007 谢谢,明白了!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/150500

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX