首页 > 开发 > PHP > 正文

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

2024-05-04 22:24:58
字体:
来源:转载
供稿:网友

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表