我的json是这样的:
{
"id1527":{"stats":"true"},
"id6376373":{"stats":"true"},
"id63737":{"stats":"true"}
}
如何获取所有ID的计数(例如'id1527'或'id6376373'...)
答案 0 :(得分:2)
在解析JSON之后,array_filter()
会将其过滤为仅以id
开头的密钥过滤,然后count()
对其进行计数:
count(array_filter(json_decode($json, true), function($key) {
return substr($key, 0, 2) == "id";
}, ARRAY_FILTER_USE_KEY));
答案 1 :(得分:1)
我希望你是这个意思。
mse_samp1 <-
list("mse_A" = list("P10" = data.frame(number = 1:3, mse_1 = c(2.5, 4.6, 7.8), mse_2 = c(6.7, 8.9, 4.1)),
"P30" = data.frame(number = 1:3, mse_1 = c(22.5, 74.6, 97.8), mse_2 = c(56.7, 78.9, 14.1))),
"mse_B" = list("P10" = data.frame(number = 1:3, mse_1 = c(122.5, 124.6, 127.8), mse_2 = c(126.7, 128.9, 124.1)),
"P30" = data.frame(number = 1:3, mse_1 = c(3422.5, 3474.6, 3497.8), mse_2 = c(3456.7, 3478.9, 3414.1))))
mse_samp2 <-
list("mse_A" = list("P70" = data.frame(number = 1:3, mse_1 = c(22.2, 77.6, 97.8), mse_2 = c(26.7, 78.9, 17.1)),
"P80" = data.frame(number = 1:3, mse_1 = c(1022.2, 3077.6, 9097.8), mse_2 = c(7626.7, 2278.9, 7317.1))),
"mse_B" = list("P70" = data.frame(number = 1:3, mse_1 = c(3722.2, 3777.6, 3797.8), mse_2 = c(3726.7, 3778.9, 3717.1)),
"P80" = data.frame(number = 1:3, mse_1 = c(1022.2, 3077.6, 9097.8), mse_2 = c(7626.7, 2278.9, 7317.1))))
data_runs_list <- list(run1 = mse_samp1, run2 = mse_samp2)
此代码段检查以查看JSON数组的顶级键是否具有前面的文本“ id”,并且仅考虑这些记录。
答案 2 :(得分:0)
解码为数组并计数元素。
count(json_decode($json, true));