实现步骤:1、用array_intersect()比较两个数组并获取相同元素,语法“array_intersect(原数组1,原数组2)”,会返回一个包含相同元素的交集数组;2、用array_diff()分别将两个原数组和交集数组进行对比,删除相同元素,获取不相同的元素,语法“array_diff(原数组1,交集数组)”和“array_diff(原数组2,交集数组)”。

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

在php中,可以利用array_intersect()和array_diff()函数来比较两个数组并去除相同的元素

实现步骤:

步骤1:利用array_intersect()函数比较两个数组并获取相同元素

array_intersect()函数可以比较两个数组的值,并返回包含相同元素的交集数组。

array_intersect(array1,array2);
参数描述
array1必需。与其他数组进行比较的第一个数组。
array2必需。与第一个数组进行比较的数组。

返回值:返回交集数组,该数组包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2 )中的键值。

<?php
header('content-type:text/html;charset=utf-8');   
$arr1=array(1,2,3,4,5,6);
$arr2=array(2,4,6,8,10,12);
var_dump($arr1);
var_dump($arr2);
$intersect=array_intersect($arr1,$arr2);
echo "相同元素有:";
var_dump($intersect);
?>

1.png

步骤2:利用array_diff()函数删除两个数组的相同元素

使用array_diff()函数分别将两个数组和交集数组进行对比,获取差集(删除相同元素,获取不同元素)。

array_diff() 函数用于比较两个(或更多个)数组的值,并返回差集。

array_diff(array1,array2,);
参数描述
array1必需。与其他数组进行比较的第一个数组。
array2必需。与第一个数组进行比较的数组。
array3,...可选。与第一个数组进行比较的其他数组。

array_diff() 函数比较两个(或更多个)数组的值(key=>value 中的 value),并返回一个差集数组,该数组包括了所有在被比较的数组(array1)中,但是不在任何其他参数数组(array2 )中的值。

<?php
header('content-type:text/html;charset=utf-8');   
$arr1=array(1,2,3,4,5,6);
$arr2=array(2,4,6,8,10,12);
var_dump($arr1);
var_dump($arr2);
$intersect=array_intersect($arr1,$arr2);
echo "相同元素有:";
var_dump($intersect);

$diff1=array_diff($arr1,$intersect);
$diff2=array_diff($arr2,$intersect);
echo "删除相同元素后的两数组:";
var_dump($diff1);
var_dump($diff2);
?>

2.png


php怎么比较两个数组去除相同的元素