我想用PHP中的API为我的星际争霸2 Clan制作个人资料页面。
正常的统计数据对我有用。
$json = file_get_contents('http://eu.battle.net/api/sc2/profile/3077083/1/gbot/');
$obj = json_decode($json);
echo $obj->displayName;
但是当我想要使用梯形图统计时,我甚至无法显示一个变量。
$json = file_get_contents('
http://eu.battle.net/api/sc2/profile/3077083/1/gbot/ladders?locale=en_GB');
$lad = json_decode($json);
那么如何在其中显示HOTS_SOLO的孩子的统计数据呢?
答案 0 :(得分:0)
这只是基本的阵列访问?
$json = file_get_contents('http://eu.battle.net/api/sc2/profile/3077083/1/gbot/ladders?locale=en_GB');
$data= json_decode($json);
$currentSeason = $data->currentSeason;
foreach ($currentSeason as $obj) {
foreach ($obj->ladder as $ladder) {
if ($ladder->matchMakingQueue == 'HOTS_SOLO') {
// this is the ladder we want to display
echo $ladder->ladderName; // Tychus Theta
}
}
}
答案 1 :(得分:0)
您的网址似乎有一个换行符(它从一行开始,其中整个文字从之前的行开始)。 file_get_contents()可能失败。
如果这不是问题,那就更微妙了。 Firefox / Chrome似乎没有问题。如果json_decode令人窒息,那么它可能是一个可原谅的语法问题。尝试在本地保存数据,然后删除组件直到它解析,然后看看你是否可以进行字符串替换或其他东西来解决它。