array_diff_assoc

Computes the difference of arrays with additional index check

&reftitle.description; `array` `array_diff_assoc` `array` `array` `array` `arrays`

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

&reftitle.parameters;

`array`

- The array to compare from

`arrays`

- Arrays to compare against

&reftitle.returnvalues;

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

&reftitle.changelog;

&Version; | &Description;
&array.changelog.require-only-one;

&reftitle.examples;

### `array_diff_assoc` 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
    $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
    $array2 = array("a" => "green", "yellow", "red");
    $result = array_diff_assoc($array1, $array2);
    print_r($result);
    ?>

&example.outputs;

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

### `array_diff_assoc` example

Two values from key => value pairs are considered equal only if `(string) $elem1 === (string) $elem2` . In other words a strict check takes place so the string representations must be the same.

    <?php
    $array1 = array(0, 1, 2);
    $array2 = array("00", "01", "2");
    $result = array_diff_assoc($array1, $array2);
    print_r($result);
    ?>

&example.outputs;

    Array
    (
        [0] => 0
        [1] => 1
    )

&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_assoc($array1[0], $array2[0]);`.

Ensure arguments are passed in the correct order when comparing similar arrays with more keys. The new array should be the first in the list.

&reftitle.seealso;

- `array_diff`
- `array_diff_uassoc`
- `array_udiff_assoc`
- `array_udiff_uassoc`
- `array_intersect`
- `array_intersect_assoc`