如何用键计算数组值

Que*_*ser 5 php arrays

我有这样的数组我需要按数组值计算

Array ( [Cop] => Array ( [0] => Dozen [1] => Dozen [2] => Akls [3] => Akls ) [MSN] => Array ( [0] => Dozen ) [NeK] => Array ( [0] => Suhan [1] => Ebao ) [NetSE] => Array ( [0] => SuZhan [1] => Guhang ) )
Run Code Online (Sandbox Code Playgroud)

例如

 Array ( [Cop] => Array ( [0] => Dozen [1] => Dozen [2] => Akls [3] => Akls ))
Run Code Online (Sandbox Code Playgroud)

在Cop键我有两个不同的警察值,所以我需要警察应该是 2

Cop - 2
MSn - 1
NeK - 2 
NetSE - 2
Run Code Online (Sandbox Code Playgroud)

我需要像上面这样的计数我怎么能这样做?

Man*_*wal 5

使用array_unique()然后计数.

count(array_unique($array['Cop']));// output 2
Run Code Online (Sandbox Code Playgroud)

如果要为每个键打印,请执行以下操作:

$array = array('Cop'=>array('Dozen','Dozen','Akls','Akls'), 'MSN'=> array('Dozen'), 'NeK'=> array('Suhan','Ebao'));
foreach($array as $key => &$value) {
    $value = count(array_unique($array[$key]));
}
print_r($array);
Run Code Online (Sandbox Code Playgroud)

输出:

Cop = 2
MSN = 1
NeK = 2
Run Code Online (Sandbox Code Playgroud)


Nar*_*dia 5

尝试简单地使用array_map,count,和array_unique等作为

array_map(function($v) {
            return count(array_unique($v));
        }, $arr);
Run Code Online (Sandbox Code Playgroud)