Reputation: 239
I'm trying decode a json from an one API, but when i try the code:
<?php
$json = file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=270EBE5B0B2501EE0FC750196325406B&steamids=76561198260508210");
$decode = json_decode($json,1);
echo $decode['realname'];
?>
This appears:
Notice: Undefined index: realname in C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www\CSGrow\index.php on line 26
Upvotes: 0
Views: 145
Reputation: 1525
When you inspect the API response closely, then is what the returned value:
{
"response": {
"players": [
{
"steamid": "76561198260508210",
"communityvisibilitystate": 3,
"profilestate": 1,
"personaname": "xGrow ◔ ⌣ ◔",
"lastlogoff": 1487378601,
"commentpermission": 1,
"profileurl": "http://steamcommunity.com/id/xgrow/",
"avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/9b/9bc4b0e198dfcc919cbcc781beb5886acaa9daee.jpg",
"avatarmedium": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/9b/9bc4b0e198dfcc919cbcc781beb5886acaa9daee_medium.jpg",
"avatarfull": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/9b/9bc4b0e198dfcc919cbcc781beb5886acaa9daee_full.jpg",
"personastate": 1,
"realname": "Pedro",
"primaryclanid": "103582791434436747",
"timecreated": 1447526746,
"personastateflags": 0,
"loccountrycode": "PT"
}
]
}
}
To create a player object, code as follows:
<?php $json = file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=270EBE5B0B2501EE0FC750196325406B&steamids=76561198260508210");
$decode = json_decode($json,1);
$player = $decode['response']['players'][0];
echo $player['realname'];
?>
Upvotes: 1
Reputation: 753
It's because realname is not in the main part of the array. You should see it like this:
json -> "response" -> "players"[0] -> "realname"
So you would need to do something like this:
$realname = $decode->response->players[0]->realname;
Upvotes: 1