我目前正在尝试从Twitch获取全球攻击性数据流的列表,因为这是我目前拥有的:
$getTwitchResponse = file_get_contents('https://api.twitch.tv/kraken/search/streams?q=global%20offensive&limit=2');
$twitchJSON = json_decode($getTwitchResponse, true);然后我输出这些值,这些值效果很好!
echo '<p>' . $twitchJSON['streams'][0]['game'] . '</p>'; //Output Counter-Strike: Global Offensive
echo '<p>' . $twitchJSON['streams'][0]['viewers'] . '</p>'; //Output 156JSON:
{
"_total":1357,
"_links":{
"self":"https://api.twitch.tv/kraken/search/streams?limit=2&offset=0&q=global+offensive",
"next":"https://api.twitch.tv/kraken/search/streams?limit=2&offset=2&q=global+offensive"
},
"streams":[
{
"_id":13921379424,
"game":"Counter-Strike: Global Offensive",
"viewers":156,
"video_height":720,
"average_fps":59.9445764054,
"created_at":"2015-04-08T18:55:03Z",
"preview":{
"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_officialclickarn-80x45.jpg",
"medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_officialclickarn-320x180.jpg",
"large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_officialclickarn-640x360.jpg",
"template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_officialclickarn-{width}x{height}.jpg"
},
"_links":{
"self":"https://api.twitch.tv/kraken/streams/officialclickarn"
},
"channel":{
"mature":true,
"status":"CSGOJACKPOT Global!",
"broadcaster_language":"en",
"display_name":"OfficialClickarn",
"game":"Counter-Strike: Global Offensive",
"delay":0,
"language":"sv",
"_id":43599835,
"name":"officialclickarn",
"created_at":"2013-05-16T16:14:12Z",
"updated_at":"2015-04-08T19:19:23Z",
"logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/officialclickarn-profile_image-e05d99008ae2c4f6-300x300.jpeg",
"banner":null,
"video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/officialclickarn-channel_offline_image-321549419f9a329c-640x360.png",
"background":null,
"profile_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/officialclickarn-profile_banner-93174220f0f0de42-480.jpeg",
"profile_banner_background_color":null,
"partner":true,
"url":"http://www.twitch.tv/officialclickarn",
"views":351062,
"followers":21946,
"_links":{
"self":"https://api.twitch.tv/kraken/channels/officialclickarn",
"follows":"https://api.twitch.tv/kraken/channels/officialclickarn/follows",
"commercial":"https://api.twitch.tv/kraken/channels/officialclickarn/commercial",
"stream_key":"https://api.twitch.tv/kraken/channels/officialclickarn/stream_key",
"chat":"https://api.twitch.tv/kraken/chat/officialclickarn",
"features":"https://api.twitch.tv/kraken/channels/officialclickarn/features",
"subscriptions":"https://api.twitch.tv/kraken/channels/officialclickarn/subscriptions",
"editors":"https://api.twitch.tv/kraken/channels/officialclickarn/editors",
"teams":"https://api.twitch.tv/kraken/channels/officialclickarn/teams",
"videos":"https://api.twitch.tv/kraken/channels/officialclickarn/videos"
}
}
},
{
"_id":13921066304,
"game":"Counter-Strike: Global Offensive",
"viewers":82,
"video_height":720,
"average_fps":24.5031518625,
"created_at":"2015-04-08T18:31:06Z",
"preview":{
"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_adamsonshow-80x45.jpg",
"medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_adamsonshow-320x180.jpg",
"large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_adamsonshow-640x360.jpg",
"template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_adamsonshow-{width}x{height}.jpg"
},
"_links":{
"self":"https://api.twitch.tv/kraken/streams/adamsonshow"
},
"channel":{
"mature":false,
"status":"RUSSIAN GLOBAL",
"broadcaster_language":"ru",
"display_name":"AdamsonShow",
"game":"Counter-Strike: Global Offensive",
"delay":0,
"language":"ru",
"_id":64615054,
"name":"adamsonshow",
"created_at":"2014-06-18T16:54:31Z",
"updated_at":"2015-04-08T19:20:06Z",
"logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/adamsonshow-profile_image-28d03af41050b43f-300x300.jpeg",
"banner":null,
"video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/adamsonshow-channel_offline_image-08c0871dd106eab3-640x360.png",
"background":null,
"profile_banner":null,
"profile_banner_background_color":null,
"partner":false,
"url":"http://www.twitch.tv/adamsonshow",
"views":61383,
"followers":8533,
"_links":{
"self":"https://api.twitch.tv/kraken/channels/adamsonshow",
"follows":"https://api.twitch.tv/kraken/channels/adamsonshow/follows",
"commercial":"https://api.twitch.tv/kraken/channels/adamsonshow/commercial",
"stream_key":"https://api.twitch.tv/kraken/channels/adamsonshow/stream_key",
"chat":"https://api.twitch.tv/kraken/chat/adamsonshow",
"features":"https://api.twitch.tv/kraken/channels/adamsonshow/features",
"subscriptions":"https://api.twitch.tv/kraken/channels/adamsonshow/subscriptions",
"editors":"https://api.twitch.tv/kraken/channels/adamsonshow/editors",
"teams":"https://api.twitch.tv/kraken/channels/adamsonshow/teams",
"videos":"https://api.twitch.tv/kraken/channels/adamsonshow/videos"
}
}
}
]
}然而,问题是,因为在同一数组中有两个查看器实例,我如何访问它们的不同值?例如: viewers = 156,other viewers = 82。但是因为它们在同一个数组中,所以我只能访问第一个数组(156)。
我试着把索引改成1,但很明显这行不通,因为他们的索引是唯一的。那么,我如何访问它们的不同值:
例如:
echo '<p>' . $twitchJSON['streams'][0]['viewers'] . '</p>'; //Output 156
echo '<p>' . something here . '</p>'; //Output 82使用‘print_r’更新:
Array ( [_total] => 1308 [_links] => Array ( [self] => https://api.twitch.tv/kraken/search/streams?limit=2&offset=0&q=global+offensive [next] => https://api.twitch.tv/kraken/search/streams?limit=2&offset=2&q=global+offensive ) [streams] => Array ( [0] => Array ( [_id] => 13919925600 [game] => Counter-Strike: Global Offensive [viewers] => 19815 [video_height] => 1080 [average_fps] => 49.9705473743 [created_at] => 2015-04-08T17:01:27Z [preview] => Array ( [small] => http://static-cdn.jtvnw.net/previews-ttv/live_user_sodapoppin-80x45.jpg [medium] => http://static-cdn.jtvnw.net/previews-ttv/live_user_sodapoppin-320x180.jpg [large] => http://static-cdn.jtvnw.net/previews-ttv/live_user_sodapoppin-640x360.jpg [template] => http://static-cdn.jtvnw.net/previews-ttv/live_user_sodapoppin-{width}x{height}.jpg ) [_links] => Array ( [self] => https://api.twitch.tv/kraken/streams/sodapoppin ) [channel] => Array ( [mature] => 1 [status] => Wasted Wed. #4(Rly drunk stream) Goooood morning world. @Sodapoppintv [broadcaster_language] => en [display_name] => sodapoppin [game] => Counter-Strike: Global Offensive [delay] => 0 [language] => en [_id] => 26301881 [name] => sodapoppin [created_at] => 2011-11-22T04:40:56Z [updated_at] => 2015-04-08T20:18:54Z [logo] => http://static-cdn.jtvnw.net/jtv_user_pictures/sodapoppin-profile_image-10049b6200f90c14-300x300.png [banner] => http://static-cdn.jtvnw.net/jtv_user_pictures/sodapoppin-channel_header_image-289c6a154aff2617-640x125.png [video_banner] => http://static-cdn.jtvnw.net/jtv_user_pictures/sodapoppin-channel_offline_image-86797668b8530080-640x360.jpeg [background] => [profile_banner] => http://static-cdn.jtvnw.net/jtv_user_pictures/sodapoppin-profile_banner-1c050aa5aed3558d-480.png [profile_banner_background_color] => [partner] => 1 [url] => http://www.twitch.tv/sodapoppin [views] => 87819543 [followers] => 735331 [_links] => Array ( [self] => https://api.twitch.tv/kraken/channels/sodapoppin [follows] => https://api.twitch.tv/kraken/channels/sodapoppin/follows [commercial] => https://api.twitch.tv/kraken/channels/sodapoppin/commercial [stream_key] => https://api.twitch.tv/kraken/channels/sodapoppin/stream_key [chat] => https://api.twitch.tv/kraken/chat/sodapoppin [features] => https://api.twitch.tv/kraken/channels/sodapoppin/features [subscriptions] => https://api.twitch.tv/kraken/channels/sodapoppin/subscriptions [editors] => https://api.twitch.tv/kraken/channels/sodapoppin/editors [teams] => https://api.twitch.tv/kraken/channels/sodapoppin/teams [videos] => https://api.twitch.tv/kraken/channels/sodapoppin/videos ) ) ) [1] => Array ( [_id] => 13921379424 [game] => Counter-Strike: Global Offensive [viewers] => 130 [video_height] => 720 [average_fps] => 59.9428904429 [created_at] => 2015-04-08T18:55:03Z [preview] => Array ( [small] => http://static-cdn.jtvnw.net/previews-ttv/live_user_officialclickarn-80x45.jpg [medium] => http://static-cdn.jtvnw.net/previews-ttv/live_user_officialclickarn-320x180.jpg [large] => http://static-cdn.jtvnw.net/previews-ttv/live_user_officialclickarn-640x360.jpg [template] => http://static-cdn.jtvnw.net/previews-ttv/live_user_officialclickarn-{width}x{height}.jpg ) [_links] => Array ( [self] => https://api.twitch.tv/kraken/streams/officialclickarn ) [channel] => Array ( [mature] => 1 [status] => CSGOJACKPOT Global! [broadcaster_language] => en [display_name] => OfficialClickarn [game] => Counter-Strike: Global Offensive [delay] => 0 [language] => sv [_id] => 43599835 [name] => officialclickarn [created_at] => 2013-05-16T16:14:12Z [updated_at] => 2015-04-08T20:19:12Z [logo] => http://static-cdn.jtvnw.net/jtv_user_pictures/officialclickarn-profile_image-e05d99008ae2c4f6-300x300.jpeg [banner] => [video_banner] => http://static-cdn.jtvnw.net/jtv_user_pictures/officialclickarn-channel_offline_image-321549419f9a329c-640x360.png [background] => [profile_banner] => http://static-cdn.jtvnw.net/jtv_user_pictures/officialclickarn-profile_banner-93174220f0f0de42-480.jpeg [profile_banner_background_color] => [partner] => 1 [url] => http://www.twitch.tv/officialclickarn [views] => 351773 [followers] => 21963 [_links] => Array ( [self] => https://api.twitch.tv/kraken/channels/officialclickarn [follows] => https://api.twitch.tv/kraken/channels/officialclickarn/follows [commercial] => https://api.twitch.tv/kraken/channels/officialclickarn/commercial [stream_key] => https://api.twitch.tv/kraken/channels/officialclickarn/stream_key [chat] => https://api.twitch.tv/kraken/chat/officialclickarn [features] => https://api.twitch.tv/kraken/channels/officialclickarn/features [subscriptions] => https://api.twitch.tv/kraken/channels/officialclickarn/subscriptions [editors] => https://api.twitch.tv/kraken/channels/officialclickarn/editors [teams] => https://api.twitch.tv/kraken/channels/officialclickarn/teams [videos] => https://api.twitch.tv/kraken/channels/officialclickarn/videos ) ) ) ) )任何帮助都将不胜感激!
基兰
发布于 2015-04-09 05:04:44
我找到答案了伙计们,
echo '<p>' . $twitchJSON['streams'][0]['viewers'] . '</p>';
echo '<p>' . $twitchJSON['streams'][1]['viewers'] . '</p>';现在正在工作,由于某些原因,‘未定义的偏移’错误不再发生,我只是重新键入它,它与所需的输出工作!
感谢大家的帮助!
致以亲切的问候,
基兰
https://stackoverflow.com/questions/29524925
复制相似问题