使用PHP在JSON URL响应中查找特定条目
我想了解用户是否属于Steam组。为此,我使用Steam的Web API并使用URL:使用PHP在JSON URL响应中查找特定条目
https://api.steampowered.com/ISteamUser/GetUserGroupList/v1/?key=APIKEYHERE&steamid=STEAMID64HERE
获取用户所属的所有组的JSON响应。 现在我想知道他们是否是我使用PHP的ID:1111111的特定组的一部分。
如何做到这一点?目前我的代码被解码如下:
$groupid = "1111111";
$url = "https://api.steampowered.com/ISteamUser/GetUserGroupList/v1/?key=APIKEYHERE&steamid=STEAMID64HERE";
$result = file_get_contents($url);
// Will dump a beauty json :)
$pretty = json_decode($result, true);
这使得$ pretty变量包含整个JSON响应。 我将如何使用PHP在看起来像这样的响应中查找组ID?
{
"response": {
"success": true,
"groups": [
{
"gid": "4458711"
},
{
"gid": "9538146"
},
{
"gid": "11683421"
},
{
"gid": "24781197"
},
{
"gid": "25160263"
},
{
"gid": "26301716"
},
{
"gid": "29202157"
},
{
"gid": "1111111"
}
]
}
}
无法弄清楚。 有什么帮助吗? :)
使用下面的代码来检查用户是否在响应中存在或不
$groupid = "1111111";
$is_exists = false;
$url = "https://api.steampowered.com/ISteamUser/GetUserGroupList/v1/?key=APIKEYHERE&steamid=STEAMID64HERE";
$result = file_get_contents($url);
// Will dump a beauty json :)
$pretty = json_decode($result, true);
foreach ($pretty['response']['groups'] as $key => $value) {
if($value['gid'] == $groupid) {
$is_exists = true;
break;
}
}
// check is_exists
检查变量$is_exists
为真或假上述
谢谢你!成功了!欣赏它 –
$groupid = "1111111";
$url = "https://api.steampowered.com/ISteamUser/GetUserGroupList /v1/?key=APIKEYHERE&steamid=STEAMID64HERE";
$result = file_get_contents($url);
// Will dump a beauty json :)
$pretty = json_decode($result);
$s = $pretty->response->groups;
foreach($s as $value)
{
if((int) $groupid == $value->gid)
{
echo "Found";
}else
{
echo "Not found";
}
}
它保持返回未找到,尽管groupid实际上是在响应中。 –
@peter:我已经编辑了我的答案,请再检查一次。并让我知道任何其他帮助 – Abhijit
注意:尝试在第8行的/var/www/html/test.php中获取非对象的属性 注意:试图获取/ var/www /第8行的html/test.php 警告:在第9行的/var/www/html/test.php中为foreach()提供了无效参数 –
请检查我的答案,让我任何其他帮助 – Abhijit
没有工作,请参阅评论 –
检查.. PLZ等待 – Abhijit