Функция array_uintersect_assoc
Функция array_uintersect_assoc
возвращает массив, содержащий все элементы первого массива, которые присутствуют во всех остальных массивах. Сравнение ключей и значений выполняется с помощью пользовательской callback-функции.
Синтаксис
array_uintersect_assoc(array $array1, array $array2, ..., callable $value_compare_func): array
Пример
Сравнение массивов с пользовательской функцией:
<?php
function compare($a, $b) {
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
$array1 = ["a" => "green", "b" => "brown", "c" => "blue"];
$array2 = ["a" => "GREEN", "B" => "brown", "c" => "blue"];
print_r(array_uintersect_assoc($array1, $array2, "strcasecmp"));
?>
Результат выполнения кода:
Array
(
[a] => green
[c] => blue
)
Пример
Сравнение с числовыми значениями:
<?php
function numCompare($a, $b) {
return $a <=> $b;
}
$array1 = [10 => "apple", 20 => "banana", 30 => "cherry"];
$array2 = [10 => 10, 20 => "banana", 40 => "cherry"];
print_r(array_uintersect_assoc($array1, $array2, "numCompare"));
?>
Результат выполнения кода:
Array
(
[20] => banana
)
Смотрите также
-
функцию
array_intersect_assoc
,
которая вычисляет пересечение массивов с проверкой индексов -
функцию
array_uintersect
,
которая вычисляет пересечение массивов с callback-функцией (без проверки индексов)