首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何检测PHP数组中的重复值?

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

Stack Overflow用户
提问于 2009-07-23 10:11:02
回答 12查看 226.6K关注 0票数 125

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

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

我想打印:

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

对于如何解决这个问题,有什么建议吗?

谢谢。

麦克

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2009-07-23 10:14:47

您可以使用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...
)
票数 256
EN

Stack Overflow用户

发布于 2010-07-21 15:27:23

if(count(array_unique($array))<count($array))
{
    // Array has duplicates
}
else
{
    // Array does not have duplicates
}
票数 122
EN

Stack Overflow用户

发布于 2009-10-23 02:50:31

function array_not_unique( $a = array() )
{
  return array_diff_key( $a , array_unique( $a ) );
}
票数 43
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1170807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档