(PHP 4 >= 4.3.0, PHP 5, PHP 7)
array_intersect_assoc — Вычисляет схождение массивов с дополнительной проверкой индекса
$array1
   , array $array2
   [, array $...
  ] )
   Функция array_intersect_assoc() возвращает массив,
   содержащий все значения массива array1,
   которые содержатся во всех указанных аргументах.
   Обратите внимание, что при сравнении используются ключи, в отличие
   от функции array_intersect().
  
array1Основной проверяемый массив.
array2Массив, с которым идет сравнение
...Переменный список сравниваемых массивов
   Возвращает ассоциативный массив, содержащий все элементы массива
   array1, которые существуют во всех переданных аргументах.
  
Пример #1 Пример использования array_intersect_assoc()
<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "b" => "yellow", "blue", "red");
$result_array = array_intersect_assoc($array1, $array2);
print_r($result_array);
?>
Результат выполнения данного примера:
Array
(
    [a] => green
)
В нашем примере видно, что только пара "a" => "green", содержится в обоих массивах и таким образом возвращается. Значение "red" не возвращается, потому что в массиве $array1 его ключ - 0, в то время как ключ значения "red" в массиве $array2 - 1, а ключ "b" не возвращается потому, что его значения различны в каждом массиве.
Два значения пар key => value считаются равными только, если (string) $elem1 === (string) $elem2 . Другими словами, применяется строгая проверка, означающая что строковые представления должны быть одинаковыми.