Computes the intersection of arrays using a callback function on the keys for comparison
Syntax
array_intersect_ukey ( array $array1 , array $array2 [, array $... ], callable $key_compare_func ) : array
Parameters
array1
The array with master values to check.
array2
An array to compare values against.
...
A variable list of arrays to compare.
key_compare_func
The comparison function must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.
Return
Returns the values of array1 whose keys exist in all the arguments.
Examples
1 · array1 array2 key_compare_func
<? function myfunction($key1, $key2) { if ($key1 == $key2) return 0; else if ($key1 > $key2) return 1; else return -1; } $array1 = array("a" => 0, "b" => 1, "c" => 2, "d" => 3); $array2 = array("a" => 0, "b" => 4, "e" => 2, "f" => 5); $key_compare_func = "myfunction"; $return = array_intersect_ukey($array1, $array2, $key_compare_func); print_r($return); ?>
Array ( [a] => 0 [b] => 1 )
2 · ...
<? function myfunction($key1, $key2) { if ($key1 == $key2) return 0; else if ($key1 > $key2) return 1; else return -1; } $array1 = array("a" => 0, "b" => 1, "c" => 2, "d" => 3); $array2 = array("a" => 0, "b" => 4, "e" => 2, "f" => 5); $array3 = array("a" => 0, "b" => 4, "e" => 2, "f" => 5); $key_compare_func = "myfunction"; $return = array_intersect_ukey($array1, $array2, $array3, $key_compare_func); print_r($return); ?>
Array ( [a] => 0 [b] => 1 )