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

作者:Liaodeity - 2015年09月01日

有的时候在对一些数据进行处理的时候,会出现一些数据重复的情况,所以下面收集了两个比较常用的方法,希望大家有用。

函数1

该方法是比较简单的,是用了php的内置函数array_diff_assoc,查找出数据中的差集。不熟悉这个方法的,可以查看手册。

function fetch_repeat_element_in_array($array) { 
    // 获取去掉重复数据的数组 
    $unique_arr = array_unique ( $array ); 
    // 获取重复数据的数组 
    $repeat_arr = array_diff_assoc ( $array, $unique_arr ); 
    return $repeat_arr; 
} 
 
// 测试用例 
$array = array ( 
        'a', 
        'b', 
        'c', 
        'a', 
        'b', 
        'd'  
); 
$repeat_arr = fetch_repeat_element_in_array ( $array ); 
print_r ( $repeat_arr );

函数2

方法2,这个就是就是将数组进行两次循环操作,找出重复的元素

function fetch_repeat_element_in_array($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 ( 
        'a', 
        'b', 
        'c', 
        'a', 
        'b', 
        'd'  
);  
$repeat_arr = fetch_repeat_element_in_array ( $array ); 
print_r ( $repeat_arr );


本文作者: Liaodeity

本文链接: https://www.jianbaizhan.com/article/290

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!


 请勿发布不友善或者负能量的内容。审查将对发布广告等违规信息进行处罚!