【问题标题】:Steam API convert Json defindex to name of weaponSteam API 将 Json defindex 转换为武器名称
【发布时间】:2015-01-24 09:29:31
【问题描述】:

所以...

我开始开发简单的 tf2 库存并获取 API。

我从 tf2 api 获取定义索引

$link = file_get_contents("http://api.steampowered.com/IEconItems_440/GetPlayerItems/v0001/?key=" . $api_key . "&steamid=" . $id . "&format=json");
$myarray = json_decode($link, true);      

print $myarray['result']['items']['0']['defindex'];

这里的架构: file_get_contents("http://api.steampowered.com/IEconItems_440/GetSchema/v0001/?key=" . $api_key . "");

我打印了 $myarray,结果是:261

所以,我有两个问题:

如何将所有定义索引打印到我的页面?

如何用 GetSchema 中的武器名称替换 defindexs?

【问题讨论】:

  • 1) 使用循环。试试var_dump($myarray) 看看里面有什么以及如何循环。如果您不知道如何使用foreach,请阅读手册。 2) 同样,查看您的全部数据,看看信息是否已经存在。否则,请查看 Steam API 文档。这只是我们可以在这里为您提供帮助的部分。

标签: php json steam-web-api


【解决方案1】:

如何打印所有定义索引:

使用 foreach 遍历每个项目

foreach($myarray['result']['items'] as $item)
{
    echo $item['defindex'].'<br />';
}

如何用名称替换项目定义索引:

首先,您必须将 GET 参数 language=en 添加到 GetSchema 请求链接,以便 GetSchema 将返回正确的项目名称。

file_get_contents("http://api.steampowered.com/IEconItems_440/GetSchema/v0001/?language=en&key=" . $api_key . "");

然后像第一个问题一样再次检查每个项目。在每个项目迭代中遍历架构中的每个项目并比较定义索引。如果它们匹配,则您在模式中创建了您的项目。打印“item_name”参数。不要忘记打破你的第二个 foreach,因为模式数组很大。示例代码:

foreach($myarray['result']['items'] as $item)
{
    foreach($schema['result']['items'] as $schemaItem)
    {
        if($item['defindex'] == $schemaItem['defindex'])
        {
            echo $schemaItem['item_name'].'<br />';
            break;
        }
    }
}

【讨论】:

    猜你喜欢
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 2015-07-31
    • 1970-01-01
    • 2021-01-09
    • 1970-01-01
    • 1970-01-01
    • 2012-03-23
    相关资源
    最近更新 更多