PHP获取数组中重复数据
发布时间:2016-11-02, 10:25:20 分类:PHP | 编辑 off 网址 | 辅助
正文 1027字数 399,950阅读
两天前,需要用到找出php数组中的重复数据,总结了两种方法,在这里跟大家共享一下,求关注啊(1)利用PHP提供的函数,array_unique和array_diff_assoc来实现
<?php
function FetchRepeatMemberInArray($array) {
// 获取去掉重复数据的数组
$unique_arr = array_unique ( $array );
// 获取重复数据的数组
$repeat_arr = array_diff_assoc ( $array, $unique_arr );
return $repeat_arr;
}
// 测试用例
$array = array (
'apple',
'iphone',
'miui',
'apple',
'orange',
'orange'
);
$repeat_arr = FetchRepeatMemberInArray ( $array );
print_r ( $repeat_arr );
Run code
Cut to clipboard
(2)自己写函数实现这个功能,利用两次for循环
<?php
function FetchRepeatMemberInArray($array) {
$len = count ( $array );
for($i = 0; $i < $len; $i ++) {
for($j = $i + 1; $j < $len; $j ++) {
if ($array [$i] == $array [$j]) {
$repeat_arr [] = $array [$i];
break;
}
}
}
return $repeat_arr;
}
// 测试用例
$array = array (
'apple',
'iphone',
'miui',
'apple',
'orange',
'orange'
);
$repeat_arr = FetchRepeatMemberInArray ( $array );
print_r ( $repeat_arr );
Run code
Cut to clipboard
(支付宝)给作者钱财以资鼓励 (微信)→
有过 2 条评论 »
array_merge搜索(array_diff($arr1, array_intersect($arr1, $arr2)), array_diff($arr2, array_intersect($arr1, $arr2)));
Array ( [1] => 1 [2] => 1 [4] => 1 [5] => 2 [6] => 1 [7] => 2 [10] => 1 [11] => 2 [12] => 3 [13] => 4 [14] => 2 [15] => 3 [16] => 2 [17] => 3 [18] => 1 [19] => 2 [20] => 3 [21] => 4 [22] => 1 [23] => 2 [24] => 3 [25] => 4 [26] => 2 [27] => 3 [28] => 4 [29] => 2 [30] => 3 [31] => 4 [32] => 1 [33] => 3 [34] => 4 [35] => 1 [36] => 3 [37] => 4 [38] => 1 [39] => 2 [40] => 3 [41] => 1 [42] => 2 [43] => 3 [44] => 1 [45] => 2 [46] => 3 [47] => 1 [48] => 2 [49] => 3 [50] => 2 [51] => 4 [52] => 1 [53] => 2 [54] => 4 [55] => 1 [56] => 1 [57] => 2 [58] => 3 [59] => 1 [60] => 2 [61] => 3 [62] => 1 [63] => 2 [64] => 3 [65] => 1 [66] => 2 [67] => 3 )
有个盲点,类似上面这样的结构想统计‘1’有几个,统计不了。