已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。
昨天关门了。
Improve this question
我有一个如下所示的数组,有没有办法计算CID出现的总次数。例如:
身份识别码= 992010000021102
我想把结果算作2
- Laravel 6,php 7.4
{
"status": true,
"message": null,
"data": [
[
{
"cid": "99201000021102",
"mailaddress": "99201000021102@gmail.com"
},
{
"cid": "99201000021105",
"mailaddress": "99201000021105@gmail.com"
}
],
[
{
"cid": "00003900062153",
"mailaddress": "00003900062153@designone.jp"
}
],
[
{
"cid": "99201000021102",
"mailaddress": "99201000021102@gmail.com"
}
],
[
{
"cid": "99201000021101",
"mailaddress": "99201000021101@gmail.com"
}
]
]
}
我尝试运行循环,但结果与预期不符。
5条答案
按热度按时间a11xaf1n1#
你可以试试这个:
它将打印:
因为主数组中的每个数组都有一些对象,所以我们需要嵌套循环,每次检查
CID
是否存在于最终数组中,如果存在,我们将其与1相加,否则我们将推送新的CID
。k3bvogb12#
若要计算特定值在数组中出现的总次数,可以使用循环迭代数组,并在每次找到该值时递增计数器变量。例如,在您的示例中..
epfja78i3#
你也可以在jQuery中得到你的结果,试试这个.
ct2axkht4#
$收集结果=收集($数据)-〉展平(1)-〉分组依据(“cid”);
*$data变量是从您的响应中获取的数据数组,并且需要根据您的数据集进行扁平化。我们只需要应用一个级别的扁平化,就可以将数据作为流正确分组。
kmpatx3s5#
使用array_filter的简单解决方案:
说明:
$v[0]->cid
与我们搜索的值进行比较function
,它作为第二个参数传递给array_filter
,array_filter
将确定哪些项将在结果中结束,而$yourarray->data
作为第一个参数传递array_filter
的结果是一个数组,其中包含function
为true
的项,而不包含其他项count
,我们得到过滤数组中的元素数此外,如果您事先不知道要搜索的值,请使用
use
规范,如