我有一个JSON文件。 (Steam API)。我想在我的网站上显示玩家库存。我使用这个网址:https://steamcommunity.com/id/majidsajadi/inventory/json/730/2
然后我用json_decode
函数解码它。
现在有两个数组:rgInventory和rgDescription。我需要检查rgInventory中的类id和rgDescription中的classid是否匹配我是否使用了igDescription中的一些值。
所以我认为我应该使用2个foreach循环和if条件来检查类ID是否匹配。然后我回应出我需要的信息。
问题是我应该如何使用嵌套的foreach?
答案 0 :(得分:0)
您可以使用两个嵌套的foreach
循环:
假设$decoded_data
是在最终结果上应用json_decode()
函数后的解码数据,如下所示:$decoded_data = json_decode($your_json_data, true);
foreach($decoded_data['rgInventory'] as $arr1){
foreach($decoded_data['rgDescriptions'] as $arr2){
if($arr1['classid'] == $arr2['classid']){
// both the classid matches
// your code
}
}
}
答案 1 :(得分:0)
试试这段代码:
$steamData = json_decode(file_get_contents("https://steamcommunity.com/id/majidsajadi/inventory/json/730/2"), true);
if($steamData["success"] != 1){
exit();
}
$match = array();
foreach($steamData["rgInventory"] as $v1){
$match[$v1["classid"]]["match"] = false;
$match[$v1["classid"]]["count"] = 0;
}
foreach($steamData["rgDescriptions"] as $v2){
if(array_key_exists($v2["classid"],$match)){
$match[$v2["classid"]]["match"] = true;
$match[$v2["classid"]]["count"]++;
}
}
print_r($match);