JSON数组:PHP警告:数组\计数\值():只能计算字符串和整数值

JSON数组:PHP警告:数组\计数\值():只能计算字符串和整数值,php,arrays,json,Php,Arrays,Json,我已经看了其他问题,但仍然无法理解这个问题 我有以下json格式的一些iso国家代码: [ { "code": "ZA" }, { "code": "VN" }, { "code": "IN" }, { "code": "AO" }, { "code": "IN" }, { "code": "IN" } ] 我尝试使用数组\u count\u value来计算值,但在较大的数据集上失败了,我不知道为

我已经看了其他问题,但仍然无法理解这个问题

我有以下json格式的一些iso国家代码:

[
  {
    "code": "ZA"
  },
  {
    "code": "VN"
  },
  {
    "code": "IN"
  },
  {
    "code": "AO"
  },
  {
    "code": "IN"
  },
  {
    "code": "IN"
  }
]
我尝试使用
数组\u count\u value
来计算值,但在较大的数据集上失败了,我不知道为什么

我的代码:

这项工作(小数据集):


应读取错误消息。您的数据包含的内容不是字符串或整数

$data = [
    'ZA' => 16,
    'VN' => 187,
    'xx' => []
];

array_count_values($data);

当数组包含非字符串或整数的元素时,输出相同的错误消息。

应读取错误消息。您的数据包含的内容不是字符串或整数

$data = [
    'ZA' => 16,
    'VN' => 187,
    'xx' => []
];

array_count_values($data);

当数组包含非字符串或整数的元素时,输出相同的错误消息。

问题就在源数据中:

$data = [
    'ZA' => 16,
    'VN' => 187,
    'xx' => []
];

array_count_values($data);
{
    "code": null
},
向混合中添加一个将解决此问题:

$json = array_count_values(array_filter(array_column($json, "code")));

如果不将
可调用的
传递给
数组过滤器()
,它只会过滤掉错误的元素,如
null

问题就在源数据中:

{
    "code": null
},
向混合中添加一个将解决此问题:

$json = array_count_values(array_filter(array_column($json, "code")));

如果不将
可调用的
传递给
数组过滤器()
,它只会过滤掉错误的元素,如
null

OMG。我发誓我搜索了null,但什么也没找到!我不觉得自己很愚蠢吗!非常感谢。编辑:在时间允许的情况下会尽快接受。有趣的是,怎么会有一项,我不知道1000?这是空的。感谢您提供有关
array\u filter()
OMG的信息。我发誓我搜索了null,但什么也没找到!我不觉得自己很愚蠢吗!非常感谢。编辑:在时间允许的情况下会尽快接受。有趣的是,怎么会有一项,我不知道1000?这是空的。感谢您提供有关
array\u filter()