laravel - 计数相同值 Laravel 集合
问题描述
我想在 laravel 集合中计算相同的值,这是我的数组:
[
'January' => [
[
'status' => 'active',
], [
'status' => 'active',
], [
'status' => 'disable',
], [
'status' => 'active',
],
'February' => [
'status' => 'active',
], [
'status' => 'active',
], [
'status' => 'disable',
], [
'status' => 'disable',
],
]
我想计算相同的值是这样的:
[
'January' => [
'active' => 3
'disable' => 1,
],
'February' => [
'active' => 2,
'disable' => 2,
]
如何做到这一点使用 laravel 集合?
解决方案
您可以使用 Collection'smap
并countBy
执行此操作:
collect($array)->map(fn ($i) => collect($i)->countBy('status'));
推荐阅读
- angular - Angular 5在查询参数更改时显示浏览器警报
- kubernetes - Kubernetes 资源请求
- ajax - 分离后端和前端的方法?
- javascript - Vue 过滤方法中添加 IF 语句
- spring - InboundChannelAdapter 多次从 s3 获取同一个文件
- openstack - OpenStack 升级,2 个节点停机时间最短
- excel - 根据功能区下拉设置变量
- selenium - 将功能文件中的数据表中的数据传递到我的步骤定义 (js)
- javascript - 使用 Safari v. 12(+) 后退按钮返回时是否会触发任何事件?
- unit-testing - 我可以在我的测试台中将模拟器输出捕获到控制台吗?