只显示复制从数组元素 [英] Show only duplicate elements from an array
本文介绍了只显示复制从数组元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个包含人名字的排序的数组。
这个数组有很多这是同名。
我要输出只重名。
例如:
输入数组:
排列
(
[0] =>阿巴斯
[1] =>阿沛
[2] =>阿比纳夫
[3] =>阿布舍克巴克
[4] =>阿迪亚
[5] =>艾哈迈德
[6] =>艾哈迈德
[7] =>阿贾伊
[8] =>阿贾伊
}
这应该返回
排列
(
[5] =>艾哈迈德
[6] =>艾哈迈德
[7] =>阿贾伊
[8] =>阿贾伊
}
解决方案
使用此code:
#假设你的原始数组$ ARR
array_unique(和array_diff_assoc($ ARR,array_unique($ ARR)));
这将返回独特的重复但是如果你想要的非唯一重复,然后用
和array_diff_assoc($ ARR,array_unique($ ARR));
编辑:根据您的意见,试试这个code:
$ uarr = array_unique($ ARR);
后续代码var_dump(和array_diff($改编,和array_diff($ uarr,和array_diff_assoc($改编,$ uarr))));
输出
阵列(4){
[5] =>
串(5)艾哈迈德
[6] =>
串(5)艾哈迈德
[7] =>
串(4)阿杰
[8] =>
串(4)阿杰
}
I have an sorted array which contains first names of people. This array has lots of names which are same.
I want to output only duplicate names.
Example,
input array:
Array ( [0] => Abbas [1] => Abhay [2] => Abhinav [3] => Abhishek [4] => Aditya [5] => Ahmed [6] => Ahmed [7] => Ajay [8] => Ajay }
It should return
Array ( [5] => Ahmed [6] => Ahmed [7] => Ajay [8] => Ajay }
解决方案
Use this code:
# assuming your original array is $arr
array_unique(array_diff_assoc($arr, array_unique($arr)));
It will return unique duplicates but if you want non-unique duplicates then use:
array_diff_assoc($arr, array_unique($arr));
EDIT: Based on your comments, try this code:
$uarr = array_unique($arr);
var_dump(array_diff($arr, array_diff($uarr, array_diff_assoc($arr, $uarr))));
OUTPUT
array(4) {
[5]=>
string(5) "Ahmed"
[6]=>
string(5) "Ahmed"
[7]=>
string(4) "Ajay"
[8]=>
string(4) "Ajay"
}
这篇关于只显示复制从数组元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文