(PHP 4 >= 4.3.0, PHP 5, PHP 7)
array_intersect_assoc — Вычисляет схождение массивов с дополнительной проверкой индекса
$array1
, array $array2
[, array $...
] ) : 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 . Другими словами, применяется строгая проверка, означающая что строковые представления должны быть одинаковыми.