次のようなjsonファイルがあります(かなり大きいですが、同じファイルのxmlバージョンは19000行を超えています)。
object(stdClass)#1 (1) {
["result"]=> object(stdClass)#2 (13) {
["items"]=> array(1628) {
[0]=> object(stdClass)#27 (18) {
["image_url"]=> string(95) "http://media.steampowered.com/apps/440/icons/c_bat.d037d6a40ec30ab4aa009387d476dca889b6f7dc.png"
}
[1]=> object(stdClass)#29 (18) {
["image_url"]=> string(98) "http://media.steampowered.com/apps/440/icons/w_bottle.859ddb315a2748f04bcc211aa7a04f2c926e6169.png"
}
}
}
}
「items」配列内の各オブジェクトの画像 URL を取得したいのですが、これを試してみました。
<?PHP
$api = "http://api.steampowered.com/IEconItems_440/GetSchema/v0001/?key=yoink&language=en_US&format=json";
$json = file_get_contents($api);
$schema = json_decode($json);
print count($schema->result->items);
foreach($schema->results->items as $item) {
print "{$item->image_url}";
}
?>
しかし、印刷されたページを確認すると、次のようになります。
1628 Warning: Invalid argument supplied for foreach() in - on line 13
これで、count が 1628 を返すため、この配列が空ではないことがわかりました。また、上記のように以前に var_dump を取得していたため、null でもありません。どこが間違っていたのか、誰か助けてもらえますか?
編集:読み方を学ぶ必要があります。この質問を閉じるために投票してください!