1

このスクリプトは、バックパックに特定のアイテム (アイテム "125" など) を持っているプロファイルのリストを出力することになっています。現時点での出力は次のとおりです。

Defindex: 125 - 76561197992146126
Defindex: 56 - 76561197992146126
Defindex: 60 - 76561197992146126
Defindex: 115 - 76561197992146126
Defindex: 170 - 76561197992146126
Defindex: 182 - 76561197992146126
Defindex: 140 - 76561197992146126
Defindex: 261 - 76561197992146126
Defindex: 278 - 76561197992146126
Defindex: 277 - 76561197992146126
Defindex: 266 - 76561197992146126
Defindex: 295 - 76561197992146126

完全なリストはhttp://pastebin.com/G6bjzAwMにあります。

以下は望ましい出力です

Defindex: 125 - 76561197992146126
Defindex: 125 - 76561197995524521
Defindex: 125 - 76561197998542532

これを行うために必要なのは、結果を解析する優れた IF 関数と、IF (例) "125" をエコーする "Defindex: 125 - $profile" だけです。

  <?php
        $APIkey = 'MyAPIKey';
        $profile = '76561197992146126'; 
        $backpackURL = "http://api.steampowered.com/ITFItems_440/GetPlayerItems/v0001/?key=" . $APIkey . "&SteamID=" . $profile . "&format=json";
        $userBackpack = json_decode(file_get_contents($backpackURL), true);

        $result = $userBackpack['result'];
        $items = $result['items'];
        foreach($items['item'] as $ind=>$item) {
        $defindex = $item['defindex'];
        echo "Defindex: $defindex - $profile<br/>";
        }
    ?>

スクリプトでファイルをループさせることができるので、大したことではありません。

4

2 に答える 2

3

あなたはループするプロファイルを私に与えなかったので、私はあなたがその部分を理解していると仮定します. foreach には、以下のコードを使用してください。

foreach($items['item'] as $ind => $item) {
  if ($item['defindex'] == 125) {
    echo "Defindex: $defindex - $profile<br/>";
  }
}

他に何かする必要がありましたか?これは私にはかなり簡単に思えます。

于 2013-04-27T00:49:46.563 に答える
1

これはうまくいくはずです

foreach($items['item'] as $ind => $item) {
  if ($item['defindex'] == 125) {
    echo "Defindex: {$item['defindex']} - $profile<br/>";
  }
}

彼の作品は理論的には機能しますが、アプリケーションでは小さな問題がありました

編集:彼のコメントに気づきました。誰かがそれを読むのを忘れた場合に備えて、これはここにあります。

于 2013-05-20T01:03:27.573 に答える