ここでちょっと困ったことが・・・
ここでjsonファイルからいくつかの値を取得しようとしています。ここでフォーマットできます。
json ファイルは次のようになります。
{
"type": "success",
"message": "OK",
"data": {
"mainWeaponStats": [
{
"category": "Machine guns",
"timeEquipped": 3507,
"startedWith": null,
"code": "mgRPK",
"headshots": 18,
"name": "RPK",
"kills": 100,
"deaths": null,
},
{
"category": "Handheld weapons",
"timeEquipped": 5452,
"startedWith": null,
"code": "wahUGL",
"headshots": 1,
"name": "Underslung Launcher",
"kills": 108,
"deaths": null,
},
{
"category": "Sniper rifles",
"timeEquipped": 307,
"startedWith": null,
"code": "srMK11",
"headshots": 0,
"name": "MK11",
"kills": 2,
"deaths": null,
},
等々。
これらのアイテムの 1 つのキルを取得したいです。つまり、「Underslung Launcher」のようなパラメーターを与えて、108 で返したいということです。この場合は、「Underslung Launcher」です。次のようなコードを探しています。
$gamemode = $decode['data']['topStats']['mapMode'];
でも、もっといい方法を知っている人がいたら教えてください。リスト内のアイテムには「データ」や「mainWeaponStats」とは異なり「名前」がないため、これを行う方法がわかりません。
編集:これはこれまでのところ関連するコードです:
$weaponstats = "http://battlelog.battlefield.com/bf3/weaponsPopulateStats/" . $bf3id . "/1/";
$content = file_get_contents($weaponstats);
$decode = json_decode($content, true);
$mainweaponstats = $decode['data']['mainWeaponStats'];
ご覧のとおり、Json の学習に苦労しています。私はそれを読み込もうとしていますが、今のところ、これを理解することはできません。
見つけようとしている値が同じグループ内にあるため、どうすればよいかわかりません。