duan0514324 2014-08-23 18:09
浏览 36
已采纳

如何在PHP中将键值添加到已解码的json中?

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>';

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

Now I want something like below:

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---]

The names are indexed array like:

Names=Red, Green, You, Me.....

How to perform this? I used array_push or merge functions, but it adds only an array, not a variable like Title or Content.

  • 写回答

1条回答 默认 最新

  • douji5397 2014-08-23 18:27
    关注

    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++;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能