Search code examples
phparrayscounting

Count and display occurrences of unique values in an array


I am working with a one dimensional array in PHP. I would like to detect the presence of duplicate values, then count the number of duplicate values and output the results. For example, given the following array:

$array = [
    'apple',
    'orange',
    'pear',
    'banana',
    'apple',
    'pear',
    'kiwi',
    'kiwi',
    'kiwi'
];

I would like to print:

apple (2)
orange
pear (2)
banana
kiwi (3)

Any advice on how to approach this problem?


Solution

  • You can use array_count_values function

    $array = array('apple', 'orange', 'pear', 'banana', 'apple',
    'pear', 'kiwi', 'kiwi', 'kiwi');
    
    print_r(array_count_values($array));
    

    will output

    Array
    (
       [apple] => 2
       [orange] => 1
       [pear] => 2
       etc...
    )