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

array_diff_ukey

PHP function Edit on GitHub ✎

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

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

Description

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

Compares the keys from array against the keys from arrays and returns the difference. This function is like array_diff() except the comparison is done on the keys instead of the values.

Unlike array_diff_key() a user supplied callback function is used for the indices comparison, not internal function.

Parameters

array

The array to compare from

arrays

Arrays to compare against

key_compare_func

Description

Return Values

Returns an array containing all the entries from array that are not present in any of the other arrays.

Examples

array_diff_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_diff_ukey($array1, $array2, 'key_compare_func'));
?>

The above example will output:

output
array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

Notes

Note

This function only checks one dimension of a n-dimensional array. Of course you can check deeper dimensions by using array_diff_ukey($array1[0], $array2[0], 'callback_func');.

See Also

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