程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP多個數組並集、交集和差集操作函數總結

PHP多個數組並集、交集和差集操作函數總結

編輯:PHP綜合

php中的數組函數真的是非常之多,實際工作中多了解一些PHP自身存在的一些函數,將會大大提高工作的速度。

在php中如何處理兩個或多個數組的並集,交集和差集的函數。

(1)php計算兩個或多個數組的並集

並集即將兩個或多個數組合為一個數組的結果集合。php中合並數組一般都會用到 array_merge 與 + 這兩種操作。

(2)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

)

(3)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')

*
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved