如何使用键

时间:2015-11-06 10:10:14

标签: 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 ) )

例如

 Array ( [Cop] => Array ( [0] => Dozen [1] => Dozen [2] => Akls [3] => Akls ))

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

Cop - 2
MSn - 1
NeK - 2 
NetSE - 2

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

3 个答案:

答案 0 :(得分:5)

使用array_unique()然后计算。

count(array_unique($array['Cop']));// output 2

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

$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);

输出:

Cop = 2
MSN = 1
NeK = 2

答案 1 :(得分:5)

尝试使用x = circshift(eye(1,3), [0, randi(3)]); array_map和& count喜欢

array_unique

答案 2 :(得分:2)

你应该使用array_count_values(),这是一个例子:

$data = array('cop' => array(0 => 'test', 1 => 'test', 2 => 'test2'));

foreach($data as $item){
    $result = array_count_values($item);
    print_r($result);
}

输出:

Array
(
    [test] => 2
    [test2] => 1
)