2017-10-11 103 views
0

我想了解用户是否属于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" 
      } 
     ] 

    } 
} 

无法弄清楚。 有什么帮助吗? :)

+0

请检查我的答案,让我任何其他帮助 – Abhijit

+0

没有工作,请参阅评论 –

+0

检查.. PLZ等待 – Abhijit

回答

1

使用下面的代码来检查用户是否在响应中存在或不

$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为真或假上述

+0

谢谢你!成功了!欣赏它 –

1
 $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"; 
     } 

    } 
+0

它保持返回未找到,尽管groupid实际上是在响应中。 –

+0

@peter:我已经编辑了我的答案,请再检查一次。并让我知道任何其他帮助 – Abhijit

+0

注意:尝试在第8行的/var/www/html/test.php中获取非对象的属性 注意:试图获取/ var/www /第8行的html/test.php 警告:在第9行的/var/www/html/test.php中为foreach()提供了无效参数 –