如何检测PHP数组中的重复值?

2022-08-30 07:05:32

我正在PHP中使用一维数组。我想检测是否存在重复值,然后计算重复值的数量并输出结果。例如,给定以下数组:

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

我想打印:

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

关于如何解决这个问题的任何建议?

谢谢。

话筒


答案 1

您可以使用array_count_values功能

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

print_r(array_count_values($array));

将输出

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

答案 2
if(count(array_unique($array))<count($array))
{
    // Array has duplicates
}
else
{
    // Array does not have duplicates
}