获取数组中每个唯一值的总数?

时间:2010-09-05 03:11:34

标签: php arrays

好的,所以我有一个有大量随机数的数组,就像这样......

$array = array(134, 12, 54, 134, 22, 22, 1, 9, 45, 45, 12, 134, 45, 134);

我需要做的是找出我的数组中包含的数字,如果数组中的数字是重复的,我想知道在数组中找到该数字的次数。所以采用我上面列出的数组,我需要结果是这样的:

134: 4
12: 2
54: 1
22: 2
1: 1
9: 1
45: 3
etc.

关于如何实现这一点的任何好主意?

谢谢!

3 个答案:

答案 0 :(得分:8)

请参阅array_count_values

<?php
print_r(array_count_values(
        array(134, 12, 54, 134, 22, 22, 1, 9, 45, 45, 12, 134, 45, 134)));

给出:

Array
(
    [134] => 4
    [12] => 2
    [54] => 1
    [22] => 2
    [1] => 1
    [9] => 1
    [45] => 3
)

答案 1 :(得分:2)

使用array_count_values()计算每个唯一值的出现次数:

$counts = array_count_values($array);
var_dump($counts);

输出:

array(7) {
  [134]=>
  int(4)
  [12]=>
  int(2)
  [54]=>
  int(1)
  [22]=>
  int(2)
  [1]=>
  int(1)
  [9]=>
  int(1)
  [45]=>
  int(3)
}

答案 2 :(得分:2)

您可以使用以下功能:

array_count_values($array)