php获取数组中重复数据的两种方法

yipeiwu_com5年前PHP代码库

(1)利用php提供的函数,array_uniquearray_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 );
?>

相关文章

c#中的实现php中的preg_replace

把php preg_replace 用c# 重写了一下。 PHP语言的功能非常强大,主要就是靠它强大的函数来作支撑。我们在这篇文章中将会为大家详细讲解有关PHP函数preg_replac...

PHP添加PNG图片背景透明水印操作类定义与用法示例

本文实例讲述了PHP添加PNG图片背景透明水印操作类定义与用法。分享给大家供大家参考,具体如下: 图片相关操作类 class ImageTool { private $image...

PHP新手NOTICE错误常见解决方法

刚学习PHP,不久,一般就看看手册,和一本叫PHP和mysql web开发的。 最近在整留言板,刚才遇到个问题。 页面中,好多类似 Notice: Use of undefined co...

PHP Class&amp;Object -- 解析PHP实现二叉树

二叉树及其变体是数据结构家族里的重要组成部分。最为链表的一种变体,二叉树最适合处理需要一特定次序快速组织和检索的数据。复制代码 代码如下:<?php// Define a clas...

Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法

NextGEN Gallery是Wordpress中著名的相册插件,遗憾的是不支持中文等unicode字符,本文将介绍如何将目录转换为拼音(添加图集时)。 以NextGEN 1.6.2为...