Steam API 将 Json defindex 转换为武器名称

Steam API convert Json defindex to name of weapon

所以...

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

我正在从 tf2 获取 defindexs 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

所以,我有 2 个问题:

如何将所有 defindex 打印到我的页面?

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

如何打印所有 defindexes:

使用 foreach 遍历每个项目

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

如何用名称替换项目 defindexes:

首先,您必须将 GET 参数 language=en 添加到 GetSchema 请求 link,因此 GetSchema 将 return 更正项目名称。

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

然后像第一个问题一样再次检查每个项目。在每个项目迭代中,遍历架构中的每个项目并比较 defindexes。如果它们匹配,则您在模式中创建了您的项目。打印 '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;
        }
    }
}