Get total number of each unique value in an array?
Okay, so I've got an array that has a ton of random numbers in it, like this...
$array = array(134, 12, 54, 134, 22, 22, 1, 9, 45, 45, 12, 134, 45, 134);
What I need to do, is find out what numbers are contained in my array, and if a number is duplicated 开发者_StackOverflow社区in the array, I'd like to know how many times that number is found within the array. So taking the array that I listed above, I need the results to be something like this:
134: 4
12: 2
54: 1
22: 2
1: 1
9: 1
45: 3
etc.
Any bright ideas on how this might be accomplished?
Thanks!
See array_count_values
.
<?php
print_r(array_count_values(
array(134, 12, 54, 134, 22, 22, 1, 9, 45, 45, 12, 134, 45, 134)));
gives:
Array ( [134] => 4 [12] => 2 [54] => 1 [22] => 2 [1] => 1 [9] => 1 [45] => 3 )
Use array_count_values()
to count the occurrences of each unique value:
$counts = array_count_values($array);
var_dump($counts);
Output:
array(7) {
[134]=>
int(4)
[12]=>
int(2)
[54]=>
int(1)
[22]=>
int(2)
[1]=>
int(1)
[9]=>
int(1)
[45]=>
int(3)
}
You can use the function:
array_count_values($array)
精彩评论