PHP获得数组交集与差集的方法

接下来我会详细讲解PHP获得数组交集与差集的方法。

接下来我会详细讲解PHP获得数组交集与差集的方法。

一. PHP获取数组交集的方法

PHP中获取两个数组的交集非常简单,我们可以使用array_intersect函数,该函数返回一个新数组,其中包含两个输入数组的公共元素。

1. array_intersect()函数基本语法

array array_intersect ( array $array1 , array $array2 [, array $... ] )

array_intersect()函数最少需要两个参数,这两个参数分别是两个数组。如果需要更多的数组,可以在后面添加,最多支持六个。

2. array_intersect()函数示例

示例1

$array1 = array('a', 'b', 'c', 'd');  
$array2 = array('c', 'd', 'e', 'f');  
$intersectResult = array_intersect($array1, $array2);  
print_r($intersectResult);

输出结果:

Array
(
    [2] => c
    [3] => d
)

这表示$array1$array2的交集是cd

示例2

$array1 = array(15, 20, 35, 50);  
$array2 = array(40, 50, 75, 90);  
$array3 = array(5, 10, 50, 80);  
$intersectResult = array_intersect($array1, $array2, $array3);  
print_r($intersectResult);

输出结果:

Array
(
    [3] => 50
)

这表示$array1$array2$array3的交集是50

二. PHP获取数组差集的方法

PHP中获取两个数组的差集也非常简单,我们可以使用array_diff函数,该函数返回一个新数组,其中包含在第一个输入数组中但没有在任何后续输入数组中出现的元素。

1. array_diff()函数基本语法

array array_diff ( array $array1 , array $array2 [, array $... ] )

array_diff()函数最少需要两个参数,这两个参数分别是两个数组。如果需要更多的数组,可以在后面添加,最多支持六个。

2. array_diff()函数示例

示例1

$array1 = array('a', 'b', 'c', 'd');  
$array2 = array('c', 'd', 'e', 'f');  
$diffResult = array_diff($array1, $array2);  
print_r($diffResult);

输出结果:

Array
(
    [0] => a
    [1] => b
)

这表示$array1$array2的差集为ab

示例2

$array1 = array(15, 20, 35, 50);  
$array2 = array(40, 50, 75, 90);  
$array3 = array(5, 10, 50, 80);  
$diffResult = array_diff($array1, $array2, $array3);  
print_r($diffResult);

输出结果:

Array
(
    [0] => 15
    [1] => 20
    [2] => 35
)

这表示$array1中没有出现在$array2$array3中的元素是152035

希望这个攻略对您有所帮助,谢谢!

本文标题为:PHP获得数组交集与差集的方法

基础教程推荐