首頁  >  文章  >  後端開發  >  php多个数组并集、交集和差集操作函数总结

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

WBOY
WBOY原創
2016-06-20 13:01:492739瀏覽

php中的数组函数真的是非常之多,实际工作中多了解一些php自身存在的一些函数,将会大大提高工作的速度。

在php中如何处理两个或多个数组的并集,交集和差集的函数。

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

并集即将两个或多个数组合为一个数组的结果集合。php中合并数组一般都会用到 array_merge 与 + 这两种操作。

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

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

array_intersect ( $arr , $arr2[……])  返回一个数组 $arr 与其他数组的交集,键名不变。

array_intersect_assoc( $arr, $arr2[……]) 返回一个数组 $arr 与其他数组的交集,同时比较键名,索引不变。<br />array_intersect_uassoc( $arr , $arr2 [……] , 'cmp_function ') 带索引检查数组的交集,用回调函数,比较索引。<br />array_intersect_key ( $arr ,$arr2 [……] ) 使用键名比较计算数组的交集。<br /><p>array_intersect_ukey( $arr , $arr2 [……],'cmp_function'); 用回调函数比较键名来计算数组的交集。</p><p>array_uintersect ( $arr , $arr2 [……] , 'cmp_function' )   比较数组中的交集 用回调函数比较数据。</p>array_uintersect_assoc( $arr, $arr2[……] , 'cmp_function') 带索引检查数组的交集 用回调函数比较数据。<br /><p>array_uintersect_uassoc($arr , $arr2 [……] , 'cmp_function' ) 带索引检查数组的交集 , 用回调函数比较数据和索引。</p><p>array_intersect 示例如下:</p><p>$array1=array('a'=>'green','red','blue');</p>$array2=array('b'=>'green','yellow','red');<br /><p>$result=array_intersect($array1,$array2);</p><p>$result 的结果将为:</p><p>Array</p>(<br />   [a]=>green<br />   [0]=>red<br /><p>)</p>

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

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

<p>array_diff( $arr , $arr2[……] )  返回一个数组,该数组包括了所有在$arr1 但是不在任何其他参数数组中的值,键名不变。</p>array_diff_uassoc( $arr ,$arr2 ,[……] , 'cmp_function') 用回调函数做索引比较数组中的差集。<br /><p>array_diff_assoc( $arr , $arr2[……] ) 返回一个数组,$arr 与其他数组的差集,同时比较键名,索引不变。</p><p>array_udiff ( $arr , $arr2 [……] , 'cmp_function') 用回调函数比较数据来计算数组的差集。</p>array_udiff_uassoc (  $arr ,$arr2 ,[……]  , 'cmp_function') 带索引检查数组的差集,用回调函数比较数据和索引。   <br /><p>array_udiff_assoc ( $arr ,$arr2 ,[……] , 'cmp_function')  带索引检查数组的差集,用回调函数比较数据,键名也比较。</p><p>array_diff 示例如下:</p><p>$array1=array('a'=>'green','red','blue','red');</p>$array2=array('b'=>'green','yellow','red');<br /><p>$result=array_diff($array1,$array2);</p><p>$result 的结果将为:array(1=>'blue')</p>


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn