我正在使用 steam api 来循环浏览背包中的物品。这是我返回的部分内容。
{
"result": {
"status": 1,
"num_backpack_slots": 900,
"items": [
{
"id": 1828738510,
"original_id": 1828738510,
"defindex": 166,
"level": 5,
"quality": 6,
"inventory": 2147484295,
"quantity": 1,
"origin": 0,
"flag_cannot_trade": true,
"attributes": [
{
"defindex": 143,
"value": 1373392596,
"float_value": 118276915200.000000
},
{
"defindex": 292,
"value": 1115684864,
"float_value": 64.000000
},
{
"defindex": 388,
"value": 1115684864,
"float_value": 64.000000
},
{
"defindex": 153,
"value": 1065353216,
"float_value": 1.000000
}
]
},
{
"id": 1828947755,
"original_id": 1178542060,
"defindex": 5009,
"level": 1,
"quality": 6,
"inventory": 2147484021,
"quantity": 1,
"origin": 4
},
{
"id": 1828947766,
"original_id": 1179066746,
"defindex": 5005,
"level": 1,
"quality": 6,
"inventory": 2147483798,
"quantity": 1,
"origin": 4
},
{
"id": 1828947780,
"original_id": 1181421843,
"defindex": 5009,
"level": 1,
"quality": 6,
"inventory": 2147484020,
"quantity": 1,
"origin": 4
},
等等。
我想做的是使用foreach(或其他有效的方法)为我的defindex循环。这是我当前的代码:
<?php
$api = "http://api.steampowered.com/IEconItems_440/GetPlayerItems/v0001/? key=MyApiKey&steamid=MySteamId&format=json";
$json = (file_get_contents($api));
$schema = json_decode($json);
$total_metal = 0;
if ($schema-> result -> items[0] -> defindex == 5000)
{
$total_metal++;
}
if ($schema-> result -> items[0] -> defindex == 5001)
{
$total_metal+= 3;
}
if ($schema-> result -> items[0] -> defindex == 5002)
{
$total_metal+= 9;
}
print $total_metal;
?>
到目前为止,这返回 0,因为第一个变量不是第一个变量中的任何这些定义索引。我需要做的是让这 3 个实例遍历整个数组。从我所看到的情况来看,我需要在 for each 中为 each 写一个,但是环顾四周,我找不到任何可以帮助我的东西。提前致谢。