如何在 PHP 中将键值添加到解码的 json 中? [英] How to add key values into decoded json in PHP?
问题描述
我使用 youtube gdata 来获取视频链接.我使用的 PHP 代码:
I use youtube gdata to get video links. PHP code I use:
$json_output = json_decode($json,TRUE);
foreach ( $json_output['data']['items'] as $data ){
echo $data['title']
. '</br>'
. $data['content'][1]
. '</br>';
网址是 http://gdata.youtube.com/feeds/api/videos?q=whatever&v=2&max-results=5&format=1&alt=jsonc.这给了我以下输出:
The url is http://gdata.youtube.com/feeds/api/videos?q=whatever&v=2&max-results=5&format=1&alt=jsonc. This gives me the following output:
Best of whatever 2013
rtsp://r3---sn-o097zuee.c.youtube.com/CiILENy73wIaGQmMKLazIS6kpRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp
2 Girls Asking For 3somes
rtsp://r4---sn-o097zuek.c.youtube.com/CiILENy73wIaGQlmFTJbhKvUOhMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp
Girl Picking Up Girls
rtsp://r8---sn-o097zuer.c.youtube.com/CiILENy73wIaGQk1tOjZuJyf2RMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp
Awkward Track Situations
rtsp://r8---sn-o097zuek.c.youtube.com/CiILENy73wIaGQkYo23fr3XTdRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp
Asking 200 Girls For Sex (Social Experiment)
rtsp://r8---sn-o097zued.c.youtube.com/CiILENy73wIaGQlzWxK8A722IhMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp
现在我想要如下内容:
Best of whatever 2013
rtsp://r3---sn-o097zuee.c.youtube.com/CiILENy73wIaGQmMKLazIS6kpRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp
[---I want a name here---]
2 Girls Asking For 3somes
rtsp://r4---sn-o097zuek.c.youtube.com/CiILENy73wIaGQlmFTJbhKvUOhMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp
[---I want a name here---]
Girl Picking Up Girls
rtsp://r8---sn-o097zuer.c.youtube.com/CiILENy73wIaGQk1tOjZuJyf2RMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp
[---I want a name here---]
Awkward Track Situations
rtsp://r8---sn-o097zuek.c.youtube.com/CiILENy73wIaGQkYo23fr3XTdRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp
[---I want a name here---]
Asking 200 Girls For Sex (Social Experiment)
rtsp://r8---sn-o097zued.c.youtube.com/CiILENy73wIaGQlzWxK8A722IhMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp
[---I want a name here---]
名称是索引数组,如:
Names=Red, Green, You, Me.....
如何执行此操作?我使用了 array_push 或 merge 函数,但它只添加了一个数组,而不是像 Title 或 Content 这样的变量.
How to perform this? I used array_push or merge functions, but it adds only an array, not a variable like Title or Content.
推荐答案
在 foreach
外有一个计数器,如 $count = 0;
然后在 foreach 内
做 $count++;
.然后,您可以在 foreach
中使用 $names[$count];
获取与该项目对应的名称.
Have a counter outside the foreach
like $count = 0;
then inside the foreach
do $count++;
. You can then get the name corresponding to the item using $names[$count];
inside the foreach
.
$json_output = json_decode($json,TRUE);
$count = 0;
$names = ['name1', 'name2', 'name3', 'name4'];
foreach ( $json_output['data']['items'] as $data ){
echo ($data['title'] . '<br />' . $data['content'][1] . '<br />' . $names[$count] . '<br />');
$count++;
}
这篇关于如何在 PHP 中将键值添加到解码的 json 中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!