array_diff_assoc

Определение исключительного пересечения массивов с учетом индексов массивов.
Синтаксис:

array array_diff_assoc(array arr1, array arr2 [, array ...])

Данная функция возвращает массив, который содержит значения, имеющиеся только в массиве arr1 ( и не имеющиеся в любых других).
Обратите внимание, что в отличии от функции array_diff(), при сравнении учитываются ключи.
Пример использования array_diff_assoc():

<?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);
?>

Пример выведет следующее:

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

В приведенном примере пара "a" => "green" присутствует в обоих массивах, поэтому она не вошла в результирующий массив. В отличие от этого, значение red присутствует в результирующем массиве, т.к. в первом массиве это значение имело ключ 0,
а во втором массиве оно имело ключ 1.

Две пары ключ => значение считаются равными, если они тождественны друг другу, т.е. (string) $elem1 === (string) $elem2.

Обратите внимание, что данная функция не позволяет напрямую сравнивать многомерные массивы. Хотя конечно можно сравнить вложенные массивы, используя, например, array_diff_assoc ($array1 [0], $array2 [0]);.

Функция поддерживается PHP 4 >=4.3.0, PHP 5