(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 );
?
(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 );
?
使用array_count_values函数可以找出数组中相同值出现的次数,array_count_values用法如下:
array_count_values
—
统计数组中所有的值出现的次数
array
array_count_values
(
array
$input)
array_count_values()
返回一个数组,该数组用
input
数组中的值作为键名,该值在:input
数组中出现的次数作为值
input:统计这个数组的值
返回值:
返回一个关联数组,用
input数组中的值作为键名,该值在数组中出现的次数作为值。
示例:
?php
$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array));
?
以上例程会输出:
Array
(
[1] = 2
[hello] = 2
[world] = 1
)需要取出哪个值的次数,就在返回的数组中获取对应的key值即可,例如示例中array_count_values($array)['hello']就可以取出数组中hello的个数。
这样的话,是有些麻烦啦,你得一项一项去比较才行,你先比较从2到9这几项的类型,然后再去比较每一项当中的数目,然后再比较每一项当中每一项的值是不是相同才行,比较相同要用“===”,而不是“==”,这一点得注意下;
?php
$array = array(
array(
'id' = 19,
'title' = '总统套房'
),
array(
'id' = 20,
'title' = '豪华套房'
),
array(
'id' = 21,
'title' = '豪华套房'
),
array(
'id' = 22,
'title' = '总统套房'
),
);
foreach ($array as $key = $value) {
foreach ($value as $k = $v) {
if ($k == 'title') {
$new_arr[] = $v;
}
}
}
$arr = array_unique($new_arr);
echo implode(',', $arr);
?
望采纳 Thx