array_diff_uassoc

Computes the difference of arrays with additional index check which is performed by a user supplied callback function

&reftitle.description; `array` `array_diff_uassoc` `array` `array` `array` `arrays` `callable` `key_compare_func`

Compares `array` against `arrays` and returns the difference. Unlike `array_diff` the array keys are used in the comparison.

Unlike `array_diff_assoc` a user supplied callback function is used for the indices comparison, not internal function.

&reftitle.parameters;

`array`

- The array to compare from

`arrays`

- Arrays to compare against

`key_compare_func`

- &sort.callback.description;
&reftitle.returnvalues;

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

&reftitle.examples;

### `array_diff_uassoc` example

In this example the `"a" => "green"` pair is present in both arrays and thus it is not in the output from the function. Unlike this, the pair `0 => "red"` is in the output because the key of `"red"` is automatically assigned to `0` in the first array, whereas it is assigned to `1` in the second array as the key `0` is already taken by `yellow`.

    <?php
    function key_compare_func($a, $b)
    {
        return $a <=> $b;
    }

    $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
    $array2 = array("a" => "green", "yellow", "red");
    $result = array_diff_uassoc($array1, $array2, "key_compare_func");
    print_r($result);
    ?>

&example.outputs;

    Array
    (
        [b] => brown
        [c] => blue
        [0] => red
    )

The equality of 2 indices is checked by the user supplied callback function.

&reftitle.notes;

This function only checks one dimension of an n-dimensional array. It is possible to check deeper dimensions by using, for example, `array_diff_uassoc($array1[0], $array2[0], "key_compare_func");`.

&reftitle.seealso;

- `array_diff`
- `array_diff_assoc`
- `array_udiff`
- `array_udiff_assoc`
- `array_udiff_uassoc`
- `array_intersect`
- `array_intersect_assoc`
- `array_uintersect`
- `array_uintersect_assoc`
- `array_uintersect_uassoc`