How do I count occurrence of duplicate items in array How do I count occurrence of duplicate items in array arrays arrays

How do I count occurrence of duplicate items in array


array_count_values, enjoy :-)

$array = array(12,43,66,21,56,43,43,78,78,100,43,43,43,21);$vals = array_count_values($array);echo 'No. of NON Duplicate Items: '.count($vals).'<br><br>';print_r($vals);

Result:

No. of NON Duplicate Items: 7Array(    [12] => 1    [43] => 6    [66] => 1    [21] => 2    [56] => 1    [78] => 2    [100] => 1)


if you want to try without 'array_count_values'you can do with a smart way here

<?php$input= array(12,43,66,21,56,43,43,78,78,100,43,43,43,21);$count_values = array();foreach ($input as $a) {     @$count_values[$a]++;}echo 'Duplicates count: '.count($count_values);print_r($count_values);?>


I actually wrote a function recently that would check for a substring within an array that will come in handy in this situation.

function strInArray($haystack, $needle) {    $i = 0;    foreach ($haystack as $value) {        $result = stripos($value,$needle);        if ($result !== FALSE) return TRUE;        $i++;    }    return FALSE;}$array = array(12,43,66,21,56,43,43,78,78,100,43,43,43,21);for ($i = 0; $i < count($array); $i++) {    if (strInArray($array,$array[$i])) {        unset($array[$i]);    }}var_dump($array);