The array_uintersect_uassoc function compares keys and values of two or more arrays based on a user-defined key and value comparison function and returns the matching results.
This function uses two user-defined functions, the first user-defined function takes the keys and the second takes the values.
What is the syntax of the array_uintersect_uassoc function in PHP?
array_uintersect_uassoc(array1, array2, array3, ..., myfunc_key, myfunc_value)
Parameters | Details |
---|---|
array1 | The first array to compare with other arrays – required |
array2 | Second array to make a comparison against- required |
array3, ... | Further arrays to compare against – optional |
user-defined keys function | User-defined function to compare the keys of arrays. The function must return an integer <, = or > than 0 if the first argument is <, + or > than the second argument. |
user-defined values function | User-defined function to compare the values of arrays. The function must return an integer <, = or > than 0 if the first argument is <, + or > than the second argument. |
Example of array_uintersect_uassoc function
Example 1. Compare keys and values of two arrays using a built-in function for the comparison of keys and a user-defined function for the comparison of values and return the matches.
<?php
function my_key_function($x,$y)
{
if ($x==$y)
{
return 0;
}
return ($x>$y)?1:-1;
}
function my_value_function($x,$y)
{
if ($x==$y)
{
return 0;
}
return ($x>$y)?1:-1;
}
$array_1=array("a"=>"R","b"=>"G","c"=>"B");
$array_2=array("a"=>"R","b"=>"B","c"=>"G");
$result=array_uintersect_uassoc($array_1,$array_2,"my_key_function", "my_value_function");
print_r($result);
?>