The array_diff_uassoc()
function is used to compare the key names and key values of two (or more) arrays and return the difference set.
Note: This function uses a user-defined function to compare key names!
The function compares the key names and key values of two (or more) arrays and returns an array of differences that include all key names and key values in the array being compared ( array1 ) but not in any other parameter array ( array2 or array3 , etc.).
Compare the key names and key values of two arrays (using user-defined functions to compare key names) and return the difference:
<?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 ) ; ?>
Try it yourself
Compare the key names and key values of three arrays (using user-defined functions to compare key names) and return the difference:
<?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 ) ; ?>
Try it yourself
array_diff_uassoc ( array1 , array2 , array3 ... , myfunction ) ;
parameter | describe |
---|---|
array1 | Required. The first array that is compared with other arrays. |
array2 | Required. The array that compares to the first array. |
array3 ,... | Optional. Other arrays that are compared with the first array. |
myfunction | Required. Defines a string that calls the comparison function. If the first parameter is less than, equal to or greater than the second parameter, the comparison function must return an integer less than, equal to or greater than 0. |
The array_diff_uassoc()
function uses a user-defined callback function (callback) to perform index checks to calculate the difference between two or more arrays. Returns an array that includes values in array1 but not in any other parameter array.
Note that unlike the array_diff()
function, the key names must also be compared.
The parameter myfunction is a user-defined function used to compare two arrays. The function must take two parameters - that is, the two key names to be compared. Therefore, the behavior is exactly the opposite of the function array_diff_assoc()
, which is compared with internal functions.
The returned key name remains unchanged.