PHP Nested Starcraft 2 Ladder Api

时间:2014-02-21 14:23:55

标签: php json api

我想用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的孩子的统计数据呢?

2 个答案:

答案 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令人窒息,那么它可能是一个可原谅的语法问题。尝试在本地保存数据,然后删除组件直到它解析,然后看看你是否可以进行字符串替换或其他东西来解决它。