2017-12-10 4 views
0

これは基本的に、PHPのスチームプレーヤーの在庫を取得しようとしていますが、私はそれをどうやって行うのか分かりません。私はPHPで何を選んでJSONから必要なものを得るべきかに問題があります。jsonからのスチームインベントリ

PHP:

 
    $inventoryJsonUrl = ' http://steamcommunity.com/inventory/ '.$steamID.'/730/2?l=english&count=5000'; 
    $inventoryJsonGet = file_get_contents($inventoryJsonUrl); 
    $inventory = json_decode($inventoryJsonGet, TRUE);

for ($i=0; $i < count($inventory['assets']) ; $i++) { echo $inventory['assets']; }

と$ inventoryJsonURLは今http://steamcommunity.com/inventory/76561198260345960/730/2?l=english&count=5000

であると私は私が欲しいものを得るとの問題を抱えている、私は意味でループのため、私がしたいことを言うことができます言うことができますアイテム/スキンの名前、そのアイテムのID、さらにいくつかのものがあります。しかし、私はそれを得るためにどのように、そして私が選ぶべきかを知らない。

ご迷惑をおかけして申し訳ございません。

ありがとうございます。

+0

あなたが探しているデータは 'assets'ではなく' description'セクションにあると思います。 'classid'と' instanceid'は 'assets'のものと一致するようですが、' name'と 'tags'もあります – dbrumann

+0

私はそれを変更しますro $ inventory ['descriptions'] ['classid']エラーが出ますそれは:通知:未定義のインデックス:instanceid。それは問題です。なぜなら、私はそれが私が望んでいないかもしれないと思ったので、私は資産の代わりにいくつかのことを試みたからです。 – Coder

答えて

0

PHPのforeachループを利用することができます。

$inventories = json_decode($inventoryJsonGet , TRUE); 

// you can check the structure of your array by 
// print_r($inventories) 
foreach ($inventories['descriptions'] as $key => $description) { 
    echo '<pre>'; 
    echo $description['appid']; 
    echo $description['market_name']; 
    echo '</pre>'; 
} 
+0

それは私が必要なものです。どうもありがとう! – Coder

0

エンドポイントには、アセットと説明の2つのリストがあります。あなたが探しているものが本当にわからない場合、いくつかの助けをするのは難しいです。私はすべてのデータがあるので、あなたが探しているものは説明であると思います。最初のアイテムはこちらhttps://www.dropbox.com/s/z736vu6boh9rfi6/steam1.gif?dl=0 Counterstrike GOのショットガットのようです。

また、この記事はあなたに少し役立つかもしれない:Getting someone's Steam inventory

を、スタートとして、私はあなたがそこに何のより良い概観を持っているので、そのJSONの内容を美化することをお勧めします。私は通常https://codebeautify.org/jsonviewerを使用しますが、他にもいくつかあります。

+0

私は確かにそれを見ていきます! jsonのbeatifierのおかげで、私は使用しましたが、別のサイトでは、私は今これをpreffer/ – Coder