温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php如何移除重复数组

发布时间:2023-03-29 14:44:23 来源:亿速云 阅读:121 作者:iii 栏目:编程语言

这篇文章主要介绍了php如何移除重复数组的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何移除重复数组文章都会有所收获,下面我们一起来看看吧。

一、PHP数组去重的函数

PHP提供了两个函数可以用来实现数组去重,分别是array_unique()和array_diff_key()。

  1. array_unique()函数

array_unique()函数可以去除数组中重复的值,返回一个新数组。

示例代码:

$arr = array("apple", "banana", "cherry", "cherry", "banana");
$arr = array_unique($arr);
print_r($arr);

输出结果:

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)

可见,array_unique()函数成功去掉了原数组中的重复元素。

  1. array_diff_key()函数

array_diff_key()函数可以将两个数组做比较,返回两个数组差异部分的键名。

示例代码:

$array1 = array("a" => "red", "b" => "green", "c" => "blue");
$array2 = array("a" => "red", "b" => "green", "d" => "yellow");

$result = array_diff_key($array1, $array2);
print_r($result);

输出结果:

Array
(
    [c] => blue
)

在例子中,array_diff_key()函数筛选出了$array1中与$array2不同的部分,返回为一个新数组。

二、手动实现数组去重

除了使用PHP函数外,我们还可以手动实现数组去重。

  1. 方法一

使用for循环和if语句对数组进行遍历,判断重复元素并将其移除。

示例代码:

$arr = array(1, 2, 5, 2, 1, 6, 7, 8, 7, 9);
$new_arr = array();

for ($i = 0; $i < count($arr); $i++) {
    if (!in_array($arr[$i], $new_arr)) {
        $new_arr[] = $arr[$i];
    }
}

print_r($new_arr);

输出结果:

Array
(
    [0] => 1
    [1] => 2
    [2] => 5
    [3] => 6
    [4] => 7
    [5] => 8
    [6] => 9
)

in_array()函数判断原数组中的元素是否已经出现在新数组中,若没有则将其添加到新数组中。

  1. 方法二

使用array_flip()函数对数组进行翻转,去掉重复键值对后使用array_flip()函数将数组翻转回来。

示例代码:

$arr = array(1, 2, 5, 2, 1, 6, 7, 8, 7, 9);
$new_arr = array_flip(array_flip($arr));

print_r($new_arr);

输出结果:

Array
(
    [0] => 1
    [1] => 2
    [2] => 5
    [3] => 6
    [4] => 7
    [5] => 8
    [6] => 9
)

这个方法不需要使用循环,只需用array_flip()函数两次即可。

关于“php如何移除重复数组”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“php如何移除重复数组”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI