首頁 >後端開發 >php教程 >php中求數組差/交集的函數總結

php中求數組差/交集的函數總結

不言
不言原創
2018-07-28 10:38:451881瀏覽

這篇文章跟大家介紹的文章內容是關於php中求數組差/交集的函數總結,有很好的參考價值,希望可以幫助到有需要的朋友。

求數組差集函數

  • 函數只檢查了多維數組中的一維。可以用 array_diff($array1[0], $array2[0]) 檢查更深的維度。

  • u:自訂函數比較,a(association):同時比較

  • 自訂函數callable $value_compare_func必須傳回一個小於零,等於零,或大於零的整數。其中傳回零代表兩個數相等。

對比陣列值的函數

#array_diff

  • 比較(===) array1array2···的值(value),傳回在$array1 中但是不在其他array 裡的值,鍵名保留不變。

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

array_udiff

  • #用自訂函數比較$array1, $array2#···· ·的值(value),函數參數為陣列的。傳回在$array1,不在其他array的元素,保持鍵值關聯。

array array_udiff ( array $array1 , array $array2 [, array $... ], callable $value_compare_func )
int value_compare_func(( mixed $a, mixed $b )) //该比较函数必须相应地返回一个小于,等于或大于 0 的整数。
#返回0,意味着两个数相等,即值在两个数组都出现了,所以等于0不返回值。
#根据value_compare_func($a, $b)的参数顺序返回元素,如:value_compare_func($b, $ba),返回在$b不在$a的元素

對比陣列鍵的函數

array_diff_key

  • 對比(===) array1array2···的鍵(key),所有出現在$array1 中但是不在其他array中的鍵(key)的值。

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

array_diff_ukey

  • #用自訂函數比較$array1, $array2··· ·的,函數參數為陣列的,鍵不同即傳回元素。傳回在$array1,不在其他array的元素,保持鍵值關聯。

array array_diff_ukey ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )

同時對比

array_diff_assoc

  • 比較$array1, $array2····的鍵(key)值(value),傳回在$array1 ,不在其他array的元素,保持鍵值關聯。 。

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

array_diff_uassoc

  • #用自訂函數比較$array1, $array2··· ·的鍵(key)值(value),回呼函數參數為陣列的,鍵值都相同時不傳回元素。傳回在$array1,不在其他array的元素,保持鍵值關聯。

array array_diff_uassoc ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )

array_udiff_assoc

  • #用自訂函數比較$array1, $array2··· ·的鍵(key)值(value),回呼函數參數為陣列的,鍵值都相同時不傳回元素。傳回在$array1,不在其他array的元素,保持鍵值關聯。

array array_udiff_assoc ( array $array1 , array $array2 [, array $... ], callable $value_compare_func )

array_udiff_uassoc

  • #用自訂函數比較$array1, $array2··· ·的鍵(key)值(value),兩個函數參數分別為陣列的/。傳回在$array1,不在其他array的元素,保持鍵值關聯。

array array_udiff_uassoc ( array $array1 , array $array2 [, array $... ], callable $value_compare_func , callable $key_compare_func )

求陣列交集函數

  • #交集函數與差集函數的用法大同小異

#比較數組的函數,不比較

array_intersect

  • 計算陣列的交集

  • array_uintersect

計算陣列的交集,用回呼函數比較資料

  • 對比數組

    的函數,不比較

array_intersect_key

使用鍵名比較計算數組的交集

  • #array_intersect_ukey

用回呼函數比較鍵名來計算陣列的交集

  • 同時對比陣列

的函數

array_intersect_assoc
  • 有索引檢查計算陣列的交集

array_intersect_uassoc
  • 帶索引檢查計算數組的交集,用回呼函數比較索引

array_uintersect_assoc############帶索引檢查計算數組的交集,用回呼函數比較數組值############array_uintersect_uassoc############帶索引檢查計算數組的交集,用單獨的回調函數比較數據和索引############相關推薦: ####

PHP網路程式設計 之Accept 阻塞模型的介紹

#PHP中strpos函數的深入分析

以上是php中求數組差/交集的函數總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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