得到随机输出json

时间:2014-02-28 23:16:19

标签: php json random youtube-api

我试图从youtube api获取youtube频道横幅。 但这很奇怪。

我使用此代码:

$json1 = file_get_contents("http://gdata.youtube.com/feeds/api/partners/$channel/branding/default?key=[api-key]&alt=json");
$data1 = json_decode($json1, true);
$banner = $data1['entry']['yt$option'][15]['$t'];
echo $banner;

现在奇怪的是,当我刷新页面时,每次都会得到一个新值。但有时它会保留一个值,这就是我需要的东西但是在一些时间之后价值正在改变......

这是json代码:

{
   "version":"1.0",
   "encoding":"UTF-8",
   "entry":{
      "xmlns":"http://www.w3.org/2005/Atom",
      "xmlns$yt":"http://gdata.youtube.com/schemas/2007",
      "id":{
         "$t":"http://gdata.youtube.com/feeds/api/partners/rebasenetwork/branding/default"
  },
  "published":{
     "$t":"2014-02-28T22:08:37.000Z"
  },
  "updated":{
     "$t":"2014-02-28T22:08:37.000Z"
  },
  "category":[
     {
        "scheme":"http://schemas.google.com/g/2005#kind",
        "term":"http://gdata.youtube.com/schemas/2007#branding"
     }
  ],
  "link":[
     {
        "rel":"self",
        "type":"application/atom+xml",
        "href":"http://gdata.youtube.com/feeds/api/partners/rebasenetwork/branding/default"
     },
     {
        "rel":"edit",
        "type":"application/atom+xml",
        "href":"http://gdata.youtube.com/feeds/api/partners/rebasenetwork/branding/default"
     }
  ],
  "yt$option":[
     {
        "$t":"0",
        "name":"channel.banner.image_height.int"
     },
     {
        "$t":"http://i1.ytimg.com/u/Yd24MzwIk2gLiv79JNPGSA/channels4_mobile_banner_hd.jpg?v=52d6ad2b",
        "name":"channel.banner.mobile.hd.image.url"
     },
     {
        "$t":"http://i1.ytimg.com/u/Yd24MzwIk2gLiv79JNPGSA/channels4_tablet_banner.jpg?v=52d6ad2b",
        "name":"channel.banner.tablet.medium.image.url"
     },
     {
        "$t":"https://lh6.googleusercontent.com/-6xCc8OBY5Qk/UtatKX2WY3I/AAAAAAAAAAY/6-vpTOgd0yU/w854-fcrop64=1,00000000ffffffff/channels4_banner.jpg",
        "name":"channel.banner.tv.low.image.url"
     },
     {
        "$t":"https://lh6.googleusercontent.com/-6xCc8OBY5Qk/UtatKX2WY3I/AAAAAAAAAAY/6-vpTOgd0yU/w1280-fcrop64=1,00000000ffffffff/channels4_banner.jpg",
        "name":"channel.banner.tv.medium.image.url"
     },
     {
        "$t":"#000000",
        "name":"channel.global.color"
     },
     {
        "$t":"http://i1.ytimg.com/u/Yd24MzwIk2gLiv79JNPGSA/channels4_banner.jpg?v=52d6ad2b",
        "name":"channel.banner.image.url"
     },
     {
        "$t":"http://i1.ytimg.com/u/Yd24MzwIk2gLiv79JNPGSA/channels4_mobile_banner_low.jpg?v=52d6ad2b",
        "name":"channel.banner.mobile.low.image.url"
     },
     {
        "$t":"True",
        "name":"channel.modules.show_comments.bool"
     },
     {
        "$t":"https://lh6.googleusercontent.com/-6xCc8OBY5Qk/UtatKX2WY3I/AAAAAAAAAAY/6-vpTOgd0yU/w2120-fcrop64=1,00000000ffffffff/channels4_banner.jpg",
        "name":"channel.banner.tv.image.url"
     },
     {
        "$t":"http://i1.ytimg.com/u/Yd24MzwIk2gLiv79JNPGSA/channels4_tablet_banner_hd.jpg?v=52d6ad2b",
        "name":"channel.banner.tablet.hd.image.url"
     },
     {
        "$t":"Welcome to our network Channel. We help Youtubers to earn money and grow with their channel. Being famous on youtube is one of the things you dream about, isn't it? Let us help make your dreams true!\n\nWith us you can choose your own partnership, You also select what you want to earn from your youtube channel! Are you ready to start growing? Partner Now!",
        "name":"channel.global.description.string"
     },
     {
        "$t":"http://i1.ytimg.com/u/Yd24MzwIk2gLiv79JNPGSA/channels4_mobile_banner_medium_hd.jpg?v=52d6ad2b",
        "name":"channel.banner.mobile.medium_hd.image.url"
     },
     {
        "$t":"https://lh6.googleusercontent.com/-6xCc8OBY5Qk/UtatKX2WY3I/AAAAAAAAAAY/6-vpTOgd0yU/w1920-fcrop64=1,00000000ffffffff/channels4_banner.jpg",
        "name":"channel.banner.tv.high.image.url"
     },
     {
        "$t":"http://i1.ytimg.com/u/Yd24MzwIk2gLiv79JNPGSA/channels4_mobile_banner.jpg?v=52d6ad2b",
        "name":"channel.banner.mobile.medium.image.url"
     },
     {
        "$t":"http://i1.ytimg.com/u/Yd24MzwIk2gLiv79JNPGSA/channels4_mobile_banner.jpg?v=52d6ad2b",
        "name":"channel.banner.mobile.image.url"
     },
     {
        "$t":"True",
        "name":"channel.related_channels.show.bool"
     },
     {
        "$t":"KQvIpdiWrSI",
        "name":"channel.unsubscribed_trailer.video_id.string"
     },
     {
        "$t":"http://i1.ytimg.com/u/Yd24MzwIk2gLiv79JNPGSA/channels4_tablet_banner_extra_hd.jpg?v=52d6ad2b",
        "name":"channel.banner.tablet.extra_hd.image.url"
     },
     {
        "$t":"http://i1.ytimg.com/u/Yd24MzwIk2gLiv79JNPGSA/channels4_tablet_banner_low.jpg?v=52d6ad2b",
        "name":"channel.banner.tablet.low.image.url"
     },
     {
        "$t":"True",
        "name":"channel.modules.moderate_comments.bool"
     },
     {
        "$t":"Network partner partnership rebase network pewdiepie",
        "name":"channel.global.keywords.string"
     },
     {
        "$t":"Rebase Network",
        "name":"channel.global.title.string"
     },
     {
        "$t":"http://i1.ytimg.com/u/Yd24MzwIk2gLiv79JNPGSA/channels4_mobile_banner_extra_hd.jpg?v=52d6ad2b",
        "name":"channel.banner.mobile.extra_hd.image.url"
     }
  ]
   }
}

这是我需要的(只是网址):

         {
  "$t":"http://i1.ytimg.com/u/Yd24MzwIk2gLiv79JNPGSA/channels4_tablet_banner_extra_hd.jpg?v=52d6ad2b",
        "name":"channel.banner.tablet.extra_hd.image.url"
     },
是的,有人能帮帮我吗?我真的不明白为什么每次刷新都会改变价值。

1 个答案:

答案 0 :(得分:0)

您可以遍历结果并打印出名称与channel.banner.mobile.extra_hd.image.url

匹配的结果
$data1 = json_decode($json1, true);

foreach ($data1['entry']['yt$option'] AS $banner) {

    if ($banner['name'] == 'channel.banner.mobile.extra_hd.image.url') {
        print $banner['$t'];
    }

}