📜  php 获取数组的交集 - PHP (1)

📅  最后修改于: 2023-12-03 15:18:32.047000             🧑  作者: Mango

PHP获取数组的交集

在PHP中,有时候需要对数组进行操作,其中一个常见的操作就是获取数组的交集。本文将介绍如何使用PHP获取数组的交集。

什么是数组的交集

数组的交集是指两个或多个数组中共同存在的元素。比如数组A={1,2,3,4}和数组B={3,4,5,6}的交集是{3,4}。

如何获取数组的交集

PHP提供了两个函数用于获取数组的交集:array_intersect()和array_intersect_assoc()。

array_intersect()

array_intersect()函数用于获取两个或多个数组的交集。它的语法如下:

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

参数说明:

  • array1、array2:待比较的两个数组。
  • ...:可选参数,可以传递一个或多个数组。

返回值:返回一个数组,该数组包含交集元素。

示例代码:

<?php
$arr1 = array(1,2,3,4);
$arr2 = array(3,4,5,6);
$res = array_intersect($arr1, $arr2);
print_r($res); //输出 Array ( [2] => 3 [3] => 4 )
?>
array_intersect_assoc()

array_intersect_assoc()函数用于获取两个或多个数组的交集,同时还会比较键名。它的语法如下:

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

参数说明:

  • array1、array2:待比较的两个数组。
  • ...:可选参数,可以传递一个或多个数组。

返回值:返回一个数组,该数组包含交集元素及对应的键名。

示例代码:

<?php
$arr1 = array("a"=>1,"b"=>2,"c"=>3);
$arr2 = array("b"=>2,"c"=>3,"d"=>4);
$res = array_intersect_assoc($arr1, $arr2);
print_r($res); //输出 Array ( [b] => 2 [c] => 3 )
?>
总结

本文介绍了如何使用PHP获取数组的交集。使用array_intersect()函数可以获取简单数组的交集,而使用array_intersect_assoc()函数可以获取关联数组的交集。开发者可以根据实际场景选择使用哪个函数。