Как удалить повторяющиеся значения из массива в PHP и подсчитать вхождение каждого элемента? У меня есть этот массив
Я хочу, чтобы результат был в массиве вот так
value freq ---- ---- foo 2 bar 1
Спасибо
так просто, у php есть функция
$a=array("Cat","Dog","Horse","Dog"); print_r(array_count_values($a));
Вывод кода выше будет:
Array ( [Cat] => 1 [Dog] => 2 [Horse] => 1 )
Вы хотите array_count_values () , за которым следует array_unique () .
$arr = array('foo','bar','foo'); print_r(array_count_values($arr)); $arr = array_unique($arr); print_r($arr);
дает:
Array ( [foo] => 2 [bar] => 1 ) Array ( [0] => foo [1] => bar )
Чтобы удалить дубликаты из таблицы, используйте функцию array_unique () .
Нечто подобное возможно (не проверено)
$freq = array(); foreach($arr as $val) { $freq[$val] = 0; } foreach($arr as $val) { $freq[$val]++; }