php8.5
Home/ Manual/ array / functions/ array_intersect_ukey

array_intersect_ukey

PHP function Edit on GitHub ✎

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Computes the intersection of arrays using a callback function on the keys for comparison

Description

array_intersect_ukey(array $array, array ...$arrays, callable $key_compare_func): array

array_intersect_ukey() returns an array containing all the values of array which have matching keys that are present in all the arguments.

Parameters

array

Initial array for comparison of the arrays.

arrays

Arrays to compare keys against.

key_compare_func

Description

Return Values

Returns the values of array whose keys exist in all the arguments.

Examples

array_intersect_ukey() example

php
<?php
function key_compare_func($key1, $key2)
{
    if ($key1 == $key2)
        return 0;
    else if ($key1 > $key2)
        return 1;
    else
        return -1;
}

$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_intersect_ukey($array1, $array2, 'key_compare_func'));
?>

The above example will output:

output
array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}

In our example you see that only the keys 'blue' and 'green' are present in both arrays and thus returned. Also notice that the values for the keys 'blue' and 'green' differ between the two arrays. A match still occurs because only the keys are checked. The values returned are those of array.

See Also

Source: reference/array/functions/array-intersect-ukey.xml · from the official PHP manual (php/doc-en)