计算变量是否存在

时间:2018-03-18 04:07:35

标签: php

下面是我的原始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]);

但是没有结果

3 个答案:

答案 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]);

由于成员是数组