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 );
?>

相关文章

如何使用PHP实现javascript的escape和unescape函数

前端开发工程师都知道javascript有编码函数escape()和对应的解码函数unescape(),而php中只有个urlencode和urldecode,这个编码和解码函数对enc...

PHP中单引号与双引号的区别分析

①转义的字符不同 单引号和双引号中都可以使用转义字符(\),但只能转义在单引号中引起来的单引号和转义转义符本身。如果用双引号(“”)括起字符串,PHP懂得更多特殊字符串的转义序列。...

php 字符转义 注意事项

在php中: * 以单引号为定界符的php字符串,支持两个转义\'和\\ * 以双引号为定界符的php字符串,支持下列转义: \n 换行(LF 或 ASCII 字符 0x0A(10))...

PHP获取数组最后一个值的2种方法

复制代码 代码如下: $array=array(1,2,3,4,5);    echo $array[count($array)-1];//计算数组长度,...

解析PHP实现多进程并行执行脚本

由于php的进程是不支持多线程的,有些场景为了方便以及提高性能,可以用php实现多进程以弥补这个不足:复制代码 代码如下:#!/usr/bin/env php<?php$cmds=...