The array_intersect_uassoc()
function is used to compare the key names and key values of two (or more) arrays and return the intersection.
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 intersection array that includes all key names and key values in the array being compared ( array1 ) and also 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 intersection:
<?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_intersect_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 intersection:
<?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_intersect_uassoc ( $a1 , $a2 , $a3 , "myfunction" ) ; print_r ( $result ) ; ?>
Try it yourself
array_intersect_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_intersect_uassoc()
function uses a user-defined callback function to calculate the intersection of the array and compare the indexes with the callback function.
array_intersect_uassoc()
returns an array containing all values that appear in array1 at the same time in all other parameter arrays. The returned key name remains unchanged.
Note that the difference from array_intersect()
is that in addition to comparing key values, the key names must also be compared.
This comparison is done through a user-provided callback function. This function takes two parameters, namely the two key names to be compared. If the first parameter is smaller than the second parameter, the function returns a negative number, if the two parameters are equal, it returns 0, and if the first parameter is larger than the second parameter, it returns a positive number.