私は現在、いくつかのphpとJSONをいじっています。私はPHPのビットをJSONについてほとんど何も知りませんが、現在必要な場所の約半分に到達することができました。コードのこのセクションがあります。
<?php
$json = file_get_contents('http://eu.battle.net/api/wow/character/Ragnaros/Smoosher?fields=progression');
$data = json_decode($json, true);
foreach ($data['progression']['raids'] as $raid) {
echo "Raid: ", $raid['name'];
echo " Normal: ", $raid['normal'];
echo " Heroic: ", $raid['heroic'];
echo " id: ", $raid['id'];
echo " Boss's: ", $raid['bosses']['name'];
?>
<p>
<?php
};
foreach ($data['progression']['raids']['bosses'] as $boss) {
echo " Boss Name: ", $boss['name'];
}
print_r($boss);
#echo $data->name;
?>
これで、最初の foreach は正常に動作し、データをページに正常に引き出すことに何の問題もありませんが、私が出力していたものの中に別の (配列?) があるように見えたので、最初に試しました
echo " Boss's: ", $raid['bosses']['name'];
これは上司の単語だけを出力し、配列内からは何も出力しないので、おそらく別の foreach ステートメントが必要だと思い、それを引き出し始めました。ただしこの部分
foreach ($data['progression']['raids']['bosses'] as $boss) {
echo " Boss Name: ", $boss['name'];
}
エラーを出す
Warning: Invalid argument supplied for foreach() in xxxxxx/xx/xxxxx/wow/test.php on line 22
そして、私は何が間違っているのかわかりません:(どんな助けも素晴らしいでしょう、私が引っ張っているjsonは
http://eu.battle.net/api/wow/character/Ragnaros/Smoosher?fields=progression