我有这个json数据。如何使用leader来计数对象我想要计数"leader": "true"
这是我的json:在本例中,"leader":"true"的计数是1
[
{
"id":23,
"uid":"0090000219",
"cid":"0090000013",
"extension":"201",
"secret":"Myojyo42_f",
"leader":true,
"simultaneous":false,
"confbridge_id":17,
"created_at":"2015-09-02 12:49:12",
"updated_at":"2015-09-02 12:49:12"
},
{
"id":24,
"uid":"0090000221",
"cid":"0090000013",
"extension":"203",
"secret":"Myojyo42_f",
"leader":false,
"simultaneous":false,
"confbridge_id":17,
"created_at":"2015-09-02 12:49:12",
"updated_at":"2015-09-02 12:49:12"
},
{
"id":25,
"uid":"0090000223",
"cid":"0090000013",
"extension":"205",
"secret":"Myojyo42_f",
"leader":false,
"simultaneous":false,
"confbridge_id":17,
"created_at":"2015-09-10 10:16:24",
"updated_at":"2015-09-10 10:16:24"
}
]这是我的密码:
foreach($apiResults['conference_participants'] as &$record) {
$leader_count = count(record['leader']);
}发布于 2015-09-11 06:50:42
首先解码它,然后返回,然后计数数据leader。
试试这个:
$decoded = json_decode($json, true);
$count = 0;
foreach($decoded as $key => $val)
{
if($val['leader'] == 1)
{
$count++;
}
}
echo $count;
//if you want also to count the false then add else in the statement echo $count++;
}发布于 2015-09-11 06:57:20
这会成功的..。测试和确认
$data = json_decode($json, true);
$count=0;
foreach($data as $key => $val)
{
if($val['leader'] == 1)
{
$count++;
}
}
echo $count;发布于 2015-09-11 06:51:26
这可以通过使用count函数以及array_filter和json_decode来完成。
echo count (array_filter(json_decode($json),
function($a){ return $a->leader?1:0;}));从内到外:
首先,json_decode将字符串生成一个stdClass对象数组。
然后,array_filter使用回调筛选出领导者属性为false的条目。
最后,计数可以让您知道返回数组中有多少个元素。
https://stackoverflow.com/questions/32517173
复制相似问题