如何在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循环通过展平数组并计算不同的元素,例如。