首页 后端开发 PHP问题 php怎么去除两个数组相同的值

php怎么去除两个数组相同的值

Apr 27, 2023 am 09:11 AM

在进行数组操作的过程中,有时会遇到去除两个数组中相同元素的情况。在 PHP 中,有多种方法可以实现这一目的。下面将介绍三种不同的方法。

方法一:使用数组函数 array_diff()

PHP 的 array_diff() 函数可以用于计算两个或多个数组的差集,即返回一个新数组,其值为在第一个数组中出现但未在其他数组中出现的元素。因此,我们可以使用 array_diff() 来找出两个数组中不同的元素,即相同元素的补集。

示例代码:

$array1 = [1, 2, 3, 4, 5];
$array2 = [3, 5, 7, 9, 11];
$result = array_merge(array_diff($array1, $array2), array_diff($array2, $array1));
print_r($result);
登录后复制

输出结果:

Array
(
    [0] => 1
    [1] => 2
    [2] => 4
    [3] => 7
    [4] => 9
    [5] => 11
)
登录后复制
登录后复制

上述代码首先用 array_diff() 函数找出了两个输入数组的补集,然后将其合并成一个新数组,即所有不同的元素。

方法二:使用循环遍历

我们还可以使用循环遍历的方式,将两个数组中相同的元素删除。要实现这个方法,我们需要先遍历一个数组,然后在另一个数组中查找相同元素,并将它从数组中删除。

示例代码:

$array1 = [1, 2, 3, 4, 5];
$array2 = [3, 5, 7, 9, 11];

foreach ($array1 as $key => $value) {
    if (in_array($value, $array2)) {
        unset($array1[$key]);
        unset($array2[array_search($value, $array2)]);
    }
}

$result = array_merge($array1, $array2);

print_r($result);
登录后复制

输出结果:

Array
(
    [0] => 1
    [1] => 2
    [2] => 4
    [3] => 7
    [4] => 9
    [5] => 11
)
登录后复制
登录后复制

上述代码首先遍历了 $array1 中的元素,然后在 $array2 中查找相同的元素并将其移除。最后将两个数组合并成一个新数组。

方法三:使用数组函数 array_intersect()

另外一种方法是使用 PHP 的 array_intersect() 函数,该函数返回两个或多个数组的交集,即包含在所有输入数组中的元素。类似于上文的第一种方法,这种方法也是找到两个数组中相同的元素,然后将它们组成一个新数组。

示例代码:

$array1 = [1, 2, 3, 4, 5];
$array2 = [3, 5, 7, 9, 11];

$result = array_intersect($array1, $array2);

print_r($result);
登录后复制

输出结果:

Array
(
    [2] => 3
    [4] => 5
)
登录后复制

上述代码直接使用了 array_intersect() 函数,找到了 $array1 和 $array2 中相同的元素,即 3 和 5。

这些方法中,使用 array_diff() 的代码最为简洁,同时也是最高效的,因为它可以一次完成所有任务。使用循环遍历的方法虽然简单易懂,但是稍微有些复杂,同时也可能会比较耗时。最后,使用 array_intersect() 的方法需要注意,因为它只返回相同的元素,而不是两个数组的差集,因此不适用于所有的情况。

以上是php怎么去除两个数组相同的值的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)