如何在php laravel中计算基于数据数组的唯一键

如何在php laravel中计算基于数据数组的唯一键,php,arrays,laravel,Php,Arrays,Laravel,我有如下数组形式的数据: $array =[ [ "Media Masa (Koran \/ Majalah, dsb)", "Internet", "Teman \/ Keluarga", "Coworking Space" ], [ "Iklan TV

我有如下数组形式的数据:

$array =[
         [
          "Media Masa (Koran \/ Majalah, dsb)",
          "Internet",
          "Teman \/ Keluarga",
          "Coworking Space"
         ],
         [
          "Iklan TV",
          "Media Masa (Koran \/ Majalah, dsb)",
          "Teman \/ Keluarga",
          "Coworking Space",
          "Mili Network",
          "Lainnya"
         ],
         [
          "Block71",
          null,
          null,
          "Mili Network",
          "UKM Indonesia",
          "TOP Karir"
         ],
         false
        ];
Array
(
    [0] => Media Masa (Koran \/ Majalah, dsb)
    [1] => Internet
    [2] => Teman \/ Keluarga
    [3] => Coworking Space
    [4] => Iklan TV
    [5] => Media Masa (Koran \/ Majalah, dsb)
    [6] => Teman \/ Keluarga
    [7] => Coworking Space
    [8] => Mili Network
    [9] => Lainnya
    [10] => Block71
    [11] => Mili Network
    [12] => UKM Indonesia
    [13] => TOP Karir
)
如何将此数据合并到一个数组和基于计数的值名称中,如:

媒体马萨古兰经/马贾拉,dsb=2 互联网=1 Teman/Keluarga=2 协同工作空间=2 宜兰电视台=1 Mili网络=2 Lainnya=1 区块71=1 UKM印度尼西亚=1 顶卡里尔=1
空值和假值不包括在内

您尝试过使用countBy吗?是集合laravel的一部分

您可以使用以下函数展平数组并过滤掉任何非字符串的值:

$array = [
  [
   "Media Masa (Koran \/ Majalah, dsb)",
   "Internet",
   "Teman \/ Keluarga",
   "Coworking Space"
  ],
  [
   "Iklan TV",
   "Media Masa (Koran \/ Majalah, dsb)",
   "Teman \/ Keluarga",
   "Coworking Space",
   "Mili Network",
   "Lainnya"
 ],
 [
   "Block71",
   null,
   null,
   "Mili Network",
   "UKM Indonesia",
   "TOP Karir"
 ],
   false
];
array_walk_recursive($array, function($v) use (&$r){ if (gettype($v) == 'string') {$r[]=$v;}});
如果打印\r$r,输出将如下所示:

$array =[
         [
          "Media Masa (Koran \/ Majalah, dsb)",
          "Internet",
          "Teman \/ Keluarga",
          "Coworking Space"
         ],
         [
          "Iklan TV",
          "Media Masa (Koran \/ Majalah, dsb)",
          "Teman \/ Keluarga",
          "Coworking Space",
          "Mili Network",
          "Lainnya"
         ],
         [
          "Block71",
          null,
          null,
          "Mili Network",
          "UKM Indonesia",
          "TOP Karir"
         ],
         false
        ];
Array
(
    [0] => Media Masa (Koran \/ Majalah, dsb)
    [1] => Internet
    [2] => Teman \/ Keluarga
    [3] => Coworking Space
    [4] => Iklan TV
    [5] => Media Masa (Koran \/ Majalah, dsb)
    [6] => Teman \/ Keluarga
    [7] => Coworking Space
    [8] => Mili Network
    [9] => Lainnya
    [10] => Block71
    [11] => Mili Network
    [12] => UKM Indonesia
    [13] => TOP Karir
)
然后只需计算数值:

print_r(array_count_values($r));
输出:

Array
(
    [Media Masa (Koran \/ Majalah, dsb)] => 2
    [Internet] => 1
    [Teman \/ Keluarga] => 2
    [Coworking Space] => 2
    [Iklan TV] => 1
    [Mili Network] => 2
    [Lainnya] => 1
    [Block71] => 1
    [UKM Indonesia] => 1
    [TOP Karir] => 1
)

你有没有试过?如果可以的话,你能提供我将把这个问题分为两部分:a将数组解包成一个数组。。a、 卡。展平阵列。有些库有一个.flat方法用于数组b循环通过展平数组并计算不同的元素,例如。