我试图通过使用api找到有人在抽搐的游戏。我已经设置了json_decode,它显示了api的所有内容。但是每当我尝试print_r
游戏时,我都会收到错误。
错误:
Notice: Undefined property: stdClass::$game in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Portfolio -- Website\twitchstreaminfo\streaminfo.php on line31
PHP代码:
$streamer = $_POST['username'];
$apiurl = "https://api.twitch.tv/kraken/streams/" . $streamer;
$apicontent = file_get_contents($apiurl);
$streamerinfo = json_decode($apicontent);
print_r($streamerinfo->game);
答案 0 :(得分:0)
首先尝试执行以下操作并验证结果:
print_r( $streamerinfo );
通过API我可以看到以下内容:
print_r( $streamerinfo->stream->game );
答案 1 :(得分:0)
你的错误在于说" $ game"在对象" $ streamerinfo"上不存在。如上所述,尝试引用" $ streamerinfo"改变它是有效的。您可以采取的另一项措施是添加以下内容:
if (isset($streamerinfo->game) {
print_r($streamerinfo->game);
}
该代码将阻止此错误,但不能解决问题。我建议这是帮助您解决问题的最终解决方案
if (isset($streamerinfo->game) {
print_r($streamerinfo->game);
} else {
print_r($streamerinfo);
}
这将使您的代码不会像现在这样破坏。但是,它还将打印" $ streamerinfo"如果失败了通过这种方式,您可以了解失败的原因。