2014-07-01 49 views
-3

我试图从该数组中获取信息,但只有来自具有值“240”的appid的信息。从数组中获取信息

(我想知道从标有 “240” 的APPID的 “playtime_2weeks”)

这是我的代码

$link = file_get_contents('http://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key=' . $key . '&steamid=' . $id . '&format=json'); 
$myarray = json_decode($link, true); 

$info = ($myarray['response']['games'][0]['appid']); 

复制数组:

{ 
    "response": { 
     "game_count": 44, 
     "games": [ 
      { 
       "appid": 240, 
       "playtime_2weeks": 60, 
       "playtime_forever": 25979 
      }, 
      { 
       "appid": 300, 
       "playtime_forever": 271 
      }, 
      { 
       "appid": 320, 
       "playtime_forever": 0 
      }, 
      { 
       "appid": 340, 
       "playtime_forever": 0 
      }, 
      { 
       "appid": 4000, 
       "playtime_forever": 419 
      }, 
      { 
       "appid": 12210, 
       "playtime_forever": 6743 
      }, 
      { 
       "appid": 17470, 
       "playtime_forever": 0 
      }, 
      { 
       "appid": 24740, 
       "playtime_forever": 0 
      }, 
      { 
       "appid": 1250, 
       "playtime_forever": 377 
      }, 
      { 
       "appid": 35420, 
       "playtime_forever": 0 
      }, 
      { 
       "appid": 39800, 
       "playtime_forever": 0 
      }, 
      { 
       "appid": 550, 
       "playtime_forever": 171 
      }, 
      { 
       "appid": 223530, 
       "playtime_forever": 0 
      }, 
      { 
       "appid": 8190, 
       "playtime_forever": 75 
      }, 
      { 
       "appid": 49800, 
       "playtime_forever": 4 
      }, 
      { 
       "appid": 17410, 
       "playtime_forever": 16 
      }, 
      { 
       "appid": 9930, 
       "playtime_2weeks": 118, 
       "playtime_forever": 118 
      }, 
      { 
       "appid": 22350, 
       "playtime_forever": 241 
      }, 
      { 
       "appid": 400, 
       "playtime_forever": 1 
      }, 
      { 
       "appid": 620, 
       "playtime_forever": 124 
      }, 
      { 
       "appid": 644, 
       "playtime_forever": 0 
      }, 
      { 
       "appid": 72200, 
       "playtime_forever": 8 
      }, 
      { 
       "appid": 44320, 
       "playtime_2weeks": 84, 
       "playtime_forever": 84 
      }, 
      { 
       "appid": 46540, 
       "playtime_forever": 0 
      }, 
      { 
       "appid": 205790, 
       "playtime_forever": 0 
      }, 
      { 
       "appid": 108800, 
       "playtime_forever": 0 
      }, 
      { 
       "appid": 730, 
       "playtime_2weeks": 958, 
       "playtime_forever": 5998 
      }, 
      { 
       "appid": 208500, 
       "playtime_2weeks": 18, 
       "playtime_forever": 1844 
      }, 
      { 
       "appid": 96300, 
       "playtime_forever": 4 
      }, 
      { 
       "appid": 220240, 
       "playtime_forever": 1593 
      }, 
      { 
       "appid": 44690, 
       "playtime_forever": 1 
      }, 
      { 
       "appid": 226700, 
       "playtime_forever": 251 
      }, 
      { 
       "appid": 43160, 
       "playtime_forever": 66 
      }, 
      { 
       "appid": 231430, 
       "playtime_forever": 709 
      }, 
      { 
       "appid": 244850, 
       "playtime_forever": 1227 
      }, 
      { 
       "appid": 47790, 
       "playtime_forever": 0 
      }, 
      { 
       "appid": 47830, 
       "playtime_forever": 0 
      }, 
      { 
       "appid": 232810, 
       "playtime_forever": 10 
      }, 
      { 
       "appid": 223670, 
       "playtime_2weeks": 242, 
       "playtime_forever": 867 
      }, 
      { 
       "appid": 252490, 
       "playtime_2weeks": 5, 
       "playtime_forever": 2422 
      }, 
      { 
       "appid": 254130, 
       "playtime_2weeks": 493, 
       "playtime_forever": 493 
      }, 
      { 
       "appid": 221100, 
       "playtime_2weeks": 17, 
       "playtime_forever": 1659 
      }, 
      { 
       "appid": 247730, 
       "playtime_2weeks": 2, 
       "playtime_forever": 2 
      }, 
      { 
       "appid": 3050, 
       "playtime_forever": 52 
      } 
     ] 

    } 
} 
+0

不只是PHP的,但一般的编程明显。如果你知道如何编写一个循环,你应该知道如何解决这个问题。 – deceze

+0

请复制/粘贴数组。 –

+0

所以你试图解析PHP中的JSON对象?这是你坚持的部分吗? – bsoist

回答

0

那是一个JSON响应,而不是一个数组。 您需要先将其转换为数组,然后查找所需的值。

$response = '{ 
    "response": { 
     "game_count": 44, 
     "games": [ 
      { 
       "appid": 240, 
       "playtime_2weeks": 60, 
       "playtime_forever": 25979 
      }, 
      { 
       "appid": 300, 
       "playtime_forever": 271 
      }, 
      .... 
      { 
       "appid": 3050, 
       "playtime_forever": 52 
      } 
     ] 

    } 
}'; 

$responseArray = json_decode($response, true); 
foreach ($responseArray['response']['games'] as $game) { 
    if ($game['appid'] == '240') { 
     echo "Playtime is: " . $game['playtime_2weeks']; 
    } 
} 

OR

array_walk($responseArray['response']['games'], function($game) { 
    if ($game['appid'] == '240') { 
     echo "Playtime is: " . $game['playtime_2weeks']; 
    } 
});