计算相同值 Laravel Collection

Count Same Value Laravel Collection

我想在 laravel collection 上计算相同的值,这是我的数组:

[
 '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 ?

您可以使用 Collection 的 mapcountBy 来执行此操作:

collect($array)->map(fn ($i) => collect($i)->countBy('status'));