下面是我的原始json文件的一小部分,如果用户在游戏中游戏字段出现在json中,如果游戏中没有json删除游戏字段。我试图通过计算游戏字段来计算游戏中有多少用户
Raw json
"members": [
{
"username": "Squadman",
"game": {
"name": "World of Warcraft"
},
}
]
我在一个部分工作的是
$count = count($result['members']);
我就像这样回应它
<strong><?php echo $count; ?></strong>
但这只是我想要在我试过的游戏中计算成员数的成员
$countingame = count($result['members']['game]);
但是没有结果
答案 0 :(得分:1)
我测试了这个,这应该有效:
JSON代码:
{
"members": [
{
"username": "Squadman",
"game": {
"name": "World of Warcraft"
}
},
{
"username": "Bob",
"game": {
"name": "Battlefield"
}
},
{
"username": "Jane"
}
]
}
PHP代码:
<?php
$json = file_get_contents('https://example.com/file.json');
$decodedJson = json_decode($json, true);
$array = $decodedJson['members'];
$count = 0;
foreach ($array as $key => $value) {
if(isset($value['game']['name']) && $value['game']['name'] != '') {
$count++;
}
}
echo $count;
?>
答案 1 :(得分:1)
要计算游戏中的成员数,您需要检查从json_decode获得的成员数组中是否存在“游戏”键。你可以用isset做到这一点。
$result = json_decode($result, true);
$count = count($result['members']);
for ($countingame = $i = 0; $i++; $i < $count)
$countingame += isset($result['members'][$i]['game']) ? 1 : 0;
echo "$count members in $countingame games";
答案 2 :(得分:0)
使用
$ countingame = count($ result ['members'] [0] ['game]);
由于成员是数组