获取php中json元素的计数
我的目标是:获取php中json元素的计数,php,json,element,Php,Json,Element,我的目标是: 如何获取所有ID的计数(如“id1527”或“id6376373”…)解码到一个数组并对元素进行计数 count(json_decode($json, true)); 我希望你是认真的 $str = '{"id1527":{"stats":"true"},"id6376373":{"stats":"true"},"id63737":"stats":"true"},"x444":{"stats":"false"}}'; echo count(preg_grep("/^id(\d
如何获取所有ID的计数(如“id1527”或“id6376373”…)解码到一个数组并对元素进行计数
count(json_decode($json, true));
我希望你是认真的
$str = '{"id1527":{"stats":"true"},"id6376373":{"stats":"true"},"id63737":"stats":"true"},"x444":{"stats":"false"}}';
echo count(preg_grep("/^id(\d)+$/",array_keys(json_decode($str,true))));
此代码段检查JSON数组的顶级键是否有前面的文本“id”,并仅考虑这些记录 解析JSON后,
array\u filter()
将其过滤到以id
开头的键,然后count()
对其进行计数:
count(array_filter(json_decode($json, true), function($key) {
return substr($key, 0, 2) == "id";
}, ARRAY_FILTER_USE_KEY));
所有顶级属性都将是ID,还是需要验证?我只需要ID元素计数。并非所有元素基于您提供的信息,这是ID的计数。ID是JSON对象第一级中唯一的键。可以添加一些描述。代码检查JSON数组的顶级键是否有前面的文本“id”,并只考虑这些记录。我也应该改变我的答案吗?我是新来的,我知道它的作用,但提问者可能不知道。最好添加到答案中。
count(array_filter(json_decode($json, true), function($key) {
return substr($key, 0, 2) == "id";
}, ARRAY_FILTER_USE_KEY));