【发布时间】:2015-09-16 21:02:20
【问题描述】:
我要做的基本上是在数组中选择一个数组并打印我希望打印的内容。这是数组。
{"success":true,"rgInventory":{"3480848569":{"id":"3480848569","classid":"991959905","instanceid":"0","amount":"1","pos":1},"3480576615":{"id":"3480576615","classid":"937248085","instanceid":"188530139","amount":"1","pos":2},"3480546604":{"id":"3480546604","classid":"1289504012","instanceid":"188530139","amount":"1","pos":3},"3480019616":{"id":"3480019616","classid":"1287503583","instanceid":"188530139","amount":"1","pos":4},"3480018692":{"id":"3480018692","classid":"1287539933","instanceid":"188530139","amount":"1","pos":5},"3468858273":{"id":"3468858273","classid":"310796325","instanceid":"188531406","amount":"1","pos":6},"3461024351":{"id":"3461024351","classid":"1285429560","instanceid":"0","amount":"1","pos":7},"3458814606":{"id":"3458814606","classid":"1285140836","instanceid":"188531307","amount":"1","pos":8},"3456892821":{"id":"3456892821","classid":"1283034897","instanceid":"188530398","amount":"1","pos":9},"3446207634":{"id":"3446207634","classid":"1280315186","instanceid":"0","amount":"1","pos":10},"3243469958":{"id":"3243469958","classid":"1232873338","instanceid":"480085569","amount":"1","pos":11},"3144270103":{"id":"3144270103","classid":"1290987654","instanceid":"1210747767","amount":"1","pos":12}}
我希望打印“rgInventory”,在该数组中,我不仅想打印主要项目,还想打印其中的一些内容,例如 id 和 classid。
这是我的代码。
<?php
if(empty($_SESSION['steamid'])){
echo 'Please sign in to view your items.';
}else{
$id = $steamprofile['steamid'];
$key = 'xxxxxxxxxxxxxxxxxxxxxxxxxx';
if($id != null){
$link = file_get_contents('http://steamcommunity.com/profiles/'.$id.'/inventory/json/730/2');
$inventory = json_decode($link, true);
//print_r ($inventory);
print(sizeof($inventory));
foreach($inventory as $item => $id){
for($x = 0; sizeof($item[1]) <= $x; $x+=0){
echo 'ID: '.$id;
}
}
}
}
?>
我只是想弄清楚它是如何工作的。数组有点让我困惑,所以任何解释都会有所帮助并非常感谢。
【问题讨论】:
-
$steamprofile来自哪里?它永远不会在您的代码中设置。此外,JSON 似乎无效...您永远不会检查json_decode的返回值。 -
@SverriM.Olsen '$steamprofile' 包含在其他地方,并且 json 是有效的,除非你有 steam id,否则你无法恢复它(在我的网站上登录并存储在 '$steamprofile '。我可以毫无问题地得到数组,就像操作中提到的那样,它只是通过它短路。但是,如果你必须在这里看到它,它是:steamcommunity.com/profiles/76561197994925827/inventory/json/…
-
您的 json 数组末尾缺少大括号。
标签: php arrays json printing steam-web-api