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

2015-01-24信息快讯网

两天前,需要用到找出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 ); 
?> 

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

©2014-2024 dbsqp.com