Как вызвать переменные в этот ответ JSON? - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь использовать steam api, и я вызвал ответ и отформатировал его с помощью кода:

$url = 'http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key='.$key.'&steamids='.$id;

$json = json_decode(file_get_contents($url));
$steam_array = (array) $json;

print_r из $ json:

stdClass Object ( [response] => stdClass Object ( [players] => Array ( [0] => stdClass Object ( [steamid] => 76561198092269637 [communityvisibilitystate] => 3 [profilestate] => 1 [personaname] => NoAd [lastlogoff] => 1527501715 [profileurl] => https://steamcommunity.com/id/noad/ [avatar] => https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/29/29f37f0a8b3b1d3dd0d7bb4c19f6bded0a417cad.jpg [avatarmedium] => https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/29/29f37f0a8b3b1d3dd0d7bb4c19f6bded0a417cad_medium.jpg [avatarfull] => https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/29/29f37f0a8b3b1d3dd0d7bb4c19f6bded0a417cad_full.jpg [personastate] => 1 [realname] => Adam Nowak [primaryclanid] => 103582791429521408 [timecreated] => 1369457346 [personastateflags] => 0 [loccountrycode] => PL [locstatecode] => 35 [loccityid] => 35736 ) ) ) ) 

print_r из $ steam_array

Array ( [response] => stdClass Object ( [players] => Array ( [0] => stdClass Object ( [steamid] => 76561198092269637 [communityvisibilitystate] => 3 [profilestate] => 1 [personaname] => NoAd [lastlogoff] => 1527501715 [profileurl] => https://steamcommunity.com/id/noad/ [avatar] => https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/29/29f37f0a8b3b1d3dd0d7bb4c19f6bded0a417cad.jpg [avatarmedium] => https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/29/29f37f0a8b3b1d3dd0d7bb4c19f6bded0a417cad_medium.jpg [avatarfull] => https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/29/29f37f0a8b3b1d3dd0d7bb4c19f6bded0a417cad_full.jpg [personastate] => 1 [realname] => Adam Nowak [primaryclanid] => 103582791429521408 [timecreated] => 1369457346 [personastateflags] => 0 [loccountrycode] => PL [locstatecode] => 35 [loccityid] => 35736 ) ) ) ) 

как вызвать переменные в одном из этого беспорядка?если я использую var_dump ($ json), он оставляет класс в.

я пробовал:

echo $steam_array->value["players"][0]['avatarfull'];   
echo $steam_array->value["avatarfull"];

я еще не знаком с классами и объектами в php: /

Я хотел, чтобы это было так

$steam_array[0]['avatarfull'];

[0] важно, потому что этот запрос API может поймать более одного человека

1 Ответ

0 голосов
/ 28 мая 2018

Привет $steam_array - это массив, и вы называете его как объект, поэтому, пожалуйста, вызовите его как массив, пожалуйста, проверьте ниже.

$steam_array['response']->players[0]->steamid

steamid И все ваши поля.

...