数组的并集、交集和差集函数

小云云
풀어 주다: 2023-03-17 16:24:01
원래의
3426명이 탐색했습니다.

php中的数组函数真的是非常之多,实际工作中多了解一些php自身存在的一些函数,将会大大提高工作的速度。这篇文章分享一下在php中如何处理两个或多个数组的并集,交集和差集的函数。

(1)php计算两个或多个数组的并集

并集即将两个或多个数组合为一个数组的结果集合。php中合并数组一般都会用到 array_merge 与 + 这两种操作。至于这两者的区别,可参照本站文章:

PHP合并数组+与array_merge的区别

(1)php计算两个或多个数组的交集

交集即是两个或多个数组中都存在的那一部分的数据的集合。计算数组的交集主要用到了array_intersect系的函数,列举如下:

array_intersect ( $arr , $arr2[……])  返回一个数组 $arr 与其他数组的交集,键名不变。
array_intersect_assoc( $arr, $arr2[……]) 返回一个数组 $arr 与其他数组的交集,同时比较键名,索引不变。
array_intersect_uassoc( $arr , $arr2 [……] , 'cmp_function ') 带索引检查数组的交集,用回调函数,比较索引。
array_intersect_key ( $arr ,$arr2 [……] ) 使用键名比较计算数组的交集。
array_intersect_ukey( $arr , $arr2 [……],'cmp_function'); 用回调函数比较键名来计算数组的交集。

array_uintersect ( $arr , $arr2 [……] , 'cmp_function' )   比较数组中的交集 用回调函数比较数据。
array_uintersect_assoc( $arr, $arr2[……] , 'cmp_function') 带索引检查数组的交集 用回调函数比较数据。
array_uintersect_uassoc($arr , $arr2 [……] , 'cmp_function' ) 带索引检查数组的交集 , 用回调函数比较数据和索引。

array_intersect 示例如下:

 $array1=array('a'=>'green','red','blue');    
$array2=array('b'=>'green','yellow','red');    
$result=array_intersect($array1,$array2);
로그인 후 복사

$result 的结果将为:

Array
(
   [a]=>green
   [0]=>red
)
로그인 후 복사

(1)php计算两个或多个数组的差集

差集即是除去交集之外的那一部分的数据的集合。计算数组的差集主要用到了array_diff系的函数,列举如下:

array_diff( $arr , $arr2[……] ) 返回一个数组,该数组包括了所有在$arr1 但是不在任何其他参数数组中的值,键名不变。
array_diff_uassoc( $arr ,$arr2 ,[……] , 'cmp_function') 用回调函数做索引比较数组中的差集。
array_diff_assoc( $arr , $arr2[……] ) 返回一个数组,$arr 与其他数组的差集,同时比较键名,索引不变。

array_udiff ( $arr , $arr2 [……] , 'cmp_function') 用回调函数比较数据来计算数组的差集。
array_udiff_uassoc ( $arr ,$arr2 ,[……] , 'cmp_function') 带索引检查数组的差集,用回调函数比较数据和索引。
array_udiff_assoc ( $arr ,$arr2 ,[……] , 'cmp_function') 带索引检查数组的差集,用回调函数比较数据,键名也比较。

array_diff 示例如下:

$array1=array('a'=>'green','red','blue','red');    
$array2=array('b'=>'green','yellow','red');    
$result=array_diff($array1,$array2);
로그인 후 복사

$result 的结果将为:

array(1=>'blue')

以上就是php数组的并集、交集和差集函数的简单介绍,具体使用大家可以参照php手册

相关推荐:

php数组简单求交集与差集以及并集功能的实现示例

总结关于数组并集注意点

php多个数组并集、交集和差集操作函数总结

위 내용은 数组的并集、交集和差集函数의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!