首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Steam Api计数数量

使用Steam Api计数数量
EN

Stack Overflow用户
提问于 2017-03-08 07:58:24
回答 1查看 215关注 0票数 1

我正在摆弄steam API,我发现我无法获得我的项目的数量。假设我有两次物品A,它不会在数量设置为"2“的情况下只显示一次图片,而是在数量设置为1的情况下显示两次。

这是我用来获取库存的部分。

代码语言:javascript
复制
    $backpackURL = "http://api.steampowered.com/IEconItems_440/GetPlayerItems/v0001/?key=" .     $APIkey . "&SteamID=" . $profile . "&format=json";
    $schemaURL = "http://api.steampowered.com/IEconItems_440/GetSchema/v0001/?key=" . $APIkey . "&language=en";

    $userBackpack = json_decode(file_get_contents($backpackURL), true);
    $itemSchema = json_decode(file_get_contents($schemaURL), true);

    $backpack_items = $userBackpack['result'];
    $schema_items = $itemSchema['result'];

这里我列出了所有的项目:

代码语言:javascript
复制
  foreach($backpack_items['items'] as $ind=>$backpack_items){
                $id =  $backpack_items['id'];
                $defindex = $backpack_items['defindex'];
                $name = getItemName($schema_items, $defindex, $image_url);
                $quantity = $backpack_items['quantity'];
                $inventory = $backpack_items['inventory'];

                echo '
                    $tmp[] = $backpack_items; print_r($tmp)
                ';
            }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-08 09:21:08

由于没有ID来查看是否有重复项,您可以尝试按名称合并它们。

通过读取这段代码,它首先创建主数组的副本。我循环遍历主数组,然后再次遍历副本。因此,对于主数组的每个值,都会再次完成一个完整的数组循环,以便与这些值进行比较。

因为预期至少有一个名称,所以我不会立即取消设置,而是在找到另一个结果后才取消设置,因此是$b

如果在主循环的键上找到一个副本,它的数量就会增加。

代码语言:javascript
复制
$copy = $backpack_items['items'];

foreach($backpack_items['items'] as $k => $v){
  $b = false;
  $s = '';
  $n = getItemName($schema_items, $v['defindex'], $s);

  foreach($copy as $k2 => $v2){
    if($n == getItemName($schema_items, $v2['defindex'], $s)){
      if(!$b){
        $b = $k;
      } else {
        unset($backpack_items['items'][$k2]);
        $backpack_items['items'][$k]['quantity'] += 1;
      }
    }
  }
}

// Now use your original loop, and the dupes should be removed.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42660584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档