php - 仅显示数组中的重复元素

标签 php arrays

我有一个包含人名的排序数组。 这个数组有很多相同的名字。

我只想输出重复的名字。

例子,

输入数组:

Array
(
    [0] => Abbas
    [1] => Abhay
    [2] => Abhinav
    [3] => Abhishek
    [4] => Aditya
    [5] => Ahmed
    [6] => Ahmed
    [7] => Ajay
    [8] => Ajay
}

它应该返回

Array
(
    [5] => Ahmed
    [6] => Ahmed
    [7] => Ajay
    [8] => Ajay
}

最佳答案

使用这段代码:

# assuming your original array is $arr
array_unique(array_diff_assoc($arr, array_unique($arr)));

它将返回唯一重复项,但如果您想要非唯一重复项,请使用:

array_diff_assoc($arr, array_unique($arr));

编辑:根据您的意见,试试这段代码:

$uarr = array_unique($arr);
var_dump(array_diff($arr, array_diff($uarr, array_diff_assoc($arr, $uarr))));

输出

array(4) {
  [5]=>
  string(5) "Ahmed"
  [6]=>
  string(5) "Ahmed"
  [7]=>
  string(4) "Ajay"
  [8]=>
  string(4) "Ajay"
}

关于php - 仅显示数组中的重复元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5995095/

相关文章:

javascript - Wordpress 子主题 css 不会覆盖父 css

php - Preg_replace动态

javascript - 如何用reactjs合并两个对象数组?

c++ - Visual Studio 运行时检查失败 #2 - 变量 'temp' 周围的堆栈已损坏

javascript - 如何将数组与 setState 一起使用?

c++ - 无法打印数组中的信息,不知道如何遍历存储在类中的数组?

PHP 打开多个连接

php - 拉拉维尔 : email send multiples times to one user

php - addClass 不适用于 laravel 5 中搜索功能的动态列表项

php - 是否可以在构造函数中优雅地退出?