當前位置: 首頁> 函數類別大全> array_diff_uassoc

array_diff_uassoc

用用戶提供的回調函數做索引檢查來計算數組的差集
名稱:array_diff_uassoc
分類:數組
所屬語言:php
一句話介紹:比較數組,返回差集(比較鍵名和鍵值,使用用戶自定義的鍵名比較函數)。

定義和用法

array_diff_uassoc()函數用於比較兩個(或更多個)數組的鍵名和鍵值,並返回差集。

註釋:該函數使用用戶自定義函數來比較鍵名!

該函數比較兩個(或更多個)數組的鍵名和鍵值,並返回一個差集數組,該數組包括了所有在被比較的數組( array1 )中,但是不在任何其他參數數組( array2array3等等)中的鍵名和鍵值。

實例

例子1

比較兩個數組的鍵名和鍵值(使用用戶自定義函數來比較鍵名),並返回差集:

 <?php
function myfunction ( $a , $b )
{
if ( $a === $b )
  {
  return 0 ;
  }
  return ( $a > $b ) ? 1 : - 1 ;
}

$a1 = array ( "a" => "red" , "b" => "green" , "c" => "blue" ) ;
$a2 = array ( "d" => "red" , "b" => "green" , "e" => "blue" ) ;

$result = array_diff_uassoc ( $a1 , $a2 , "myfunction" ) ;
print_r ( $result ) ;
?>

親自試一試

例子2

比較三個數組的鍵名和鍵值(使用用戶自定義函數來比較鍵名),並返回差集:

 <?php
function myfunction ( $a , $b )
{
if ( $a === $b )
  {
  return 0 ;
  }
  return ( $a > $b ) ? 1 : - 1 ;
}

$a1 = array ( "a" => "red" , "b" => "green" , "c" => "blue" ) ;
$a2 = array ( "a" => "red" , "b" => "green" , "d" => "blue" ) ;
$a3 = array ( "e" => "yellow" , "a" => "red" , "d" => "blue" ) ;

$result = array_diff_uassoc ( $a1 , $a2 , $a3 , "myfunction" ) ;
print_r ( $result ) ;
?>

親自試一試

文法

array_diff_uassoc ( array1 , array2 , array3 ... , myfunction ) ;
參數 描述
array1 必需。與其他數組進行比較的第一個數組。
array2 必需。與第一個數組進行比較的數組。
array3 ,... 可選。與第一個數組進行比較的其他數組。
myfunction 必需。定義可調用比較函數的字符串。如果第一個參數小於、等於或大於第二個參數,則該比較函數必須返回小於、等於或大於0 的整數。

說明

array_diff_uassoc()函數使用用戶自定義的回調函數(callback) 做索引檢查來計算兩個或多個數組的差集。返回一個數組,該數組包括了在array1中但是不在任何其他參數數組中的值。

注意,與array_diff()函數不同的是,鍵名也要進行比較。

參數myfunction是用戶自定義的用來比較兩個數組的函數,該函數必須帶有兩個參數- 即兩個要進行對比的鍵名。因此與函數array_diff_assoc()的行為正好相反,後者是用內部函數進行比較的。

返回的數組中鍵名保持不變。

同類函數
  • 使用用戶定義的比較函數按值對數組進行排序 usort

    usort

    使用用戶定義的比較函數按值對數組進行排序
  • 帶索引檢查計算數組的差集,用回調函數比較數據 array_udiff_assoc

    array_udiff_assoc

    帶索引檢查計算數組的差集,用回調函數比較
  • 計算數組的交集,用回調函數比較數據 array_uintersect

    array_uintersect

    計算數組的交集,用回調函數比較數據
  • 用回調函數對鍵名比較計算數組的差集 array_diff_ukey

    array_diff_ukey

    用回調函數對鍵名比較計算數組的差集
  • 用給定的值填充數組 array_fill

    array_fill

    用給定的值填充數組
  • 將數組中的內部指針向前移動一位 next

    next

    將數組中的內部指針向前移動一位
  • 使用鍵名比較計算數組的交集 array_intersect_key

    array_intersect_key

    使用鍵名比較計算數組的交集
  • 帶索引檢查計算數組的交集,用回調函數比較數據 array_uintersect_assoc

    array_uintersect_assoc

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