使用PHP计算Json元素

使用PHP计算Json元素,php,json,variables,data-conversion,Php,Json,Variables,Data Conversion,所以我有 { "members": [ { "username": "John", "status": "offline", "avatar_url": "...", "id": "830232882252102064" }, { "username": "Momo", "status": "online", "avatar_url": "...", "id": "259137

所以我有

{
"members": [
    {
      "username": "John",
      "status": "offline",
      "avatar_url": "...",
      "id": "830232882252102064"
    },
    {
      "username": "Momo",
      "status": "online",
      "avatar_url": "...",
      "id": "259137993351102464"
    }
  ]
}

我如何计算(在php中)有多少用户处于脱机状态,有多少用户处于联机状态,并将它们返回到一个值,如
$memonline
$memonline
,在下面的代码中,我们将获得所有
状态的值,然后我们将
计算所有状态的值


Json_decode(Json)@ImRonnyDark希望你能期待这个东西。不工作:“注意:未定义索引:离线在…第36行”你能分享你正在测试的Json吗。
<?php
ini_set('display_errors', 1);
$string='{


"channels": [
    {
      "position": 13,
      "id": "304700935878213642",
      "name": "20KBPS"
    },
    {
      "position": 12,
      "id": "304700895978061835",
      "name": "50KBPS"
    },
    {
      "position": 11,
      "id": "304701193261809672",
      "name": "70KBPS"
    },
    {
      "position": 10,
      "id": "304701326288224256",
      "name": "90KBPS"
    },
    {
      "position": 1,
      "id": "304699877621891072",
      "name": "=================="
    },
    {
      "position": 9,
      "id": "304700570592346114",
      "name": "=================="
    },
    {
      "position": 4,
      "id": "304701407221514240",
      "name": "=================="
    },
    {
      "position": 14,
      "id": "304700808883339264",
      "name": "=================="
    },
    {
      "position": 2,
      "id": "304700525939523584",
      "name": "Channel 1"
    },
    {
      "position": 3,
      "id": "304700547426942976",
      "name": "Channel 2"
    },
    {
      "position": 0,
      "id": "304692483973971990",
      "name": "General Channel"
    },
    {
      "position": 6,
      "id": "304701637446991873",
      "name": "Private/2"
    },
    {
      "position": 5,
      "id": "304701480605319178",
      "name": "Private/2"
    },
    {
      "position": 7,
      "id": "304701680010788866",
      "name": "Private/3"
    },
    {
      "position": 8,
      "id": "304701738999611394",
      "name": "Private/3"
    },
    {
      "position": 15,
      "id": "304700776691793921",
      "name": "Trash Bin"
    }
  ],
  "instant_invite": null,
  "id": "304692483973971989",
  "members": [
    {
      "username": "Dyno",
      "status": "online",
      "bot": true,
      "game": {
        "name": "dynobot.net | ?help"
      },
      "avatar_url": "https://cdn.discordapp.com/avatars/155149108183695360/5aeb68c29b56b3d92eddb6f46df5051c.jpg",
      "avatar": "5aeb68c29b56b3d92eddb6f46df5051c",
      "discriminator": "3861",
      "id": "155149108183695360"
    },
    {
      "username": "Momo",
      "status": "online",
      "bot": true,
      "game": {
        "name": "$help | $info"
      },
      "avatar_url": "https://cdn.discordapp.com/avatars/259137993351102464/a3005ab7aff3eb829fecf375931a76f1.jpg",
      "avatar": "a3005ab7aff3eb829fecf375931a76f1",
      "discriminator": "4649",
      "id": "259137993351102464"
    },
    {
      "username": "Ronny Dark",
      "status": "online",
      "avatar_url": "https://cdn.discordapp.com/avatars/152855546574143492/6d9b98972ca6f0308be4dd2aec5aaca3.jpg",
      "avatar": "6d9b98972ca6f0308be4dd2aec5aaca3",
      "discriminator": "1480",
      "id": "152855546574143492"
    }
  ],
  "name": "Server name"
}';
$array=json_decode($string,true);
$result=array_column($array["members"],"status");

$members=array_count_values($result);
echo isset($members["offline"]) ? $members["offline"] : 0;