(PHP 5 >= 5.1.0, PHP 7, PHP 8)
array_intersect_ukey — Вычисляет пересечение массивов, используя callback-функцию для сравнения ключей
Функция array_intersect_ukey()
возвращает массив,
состоящий из значений массива array
,
ключи которых содержатся во всех аргументах.
array
Основной проверяемый массив.
arrays
Массивы, с которыми сравниваются ключи.
key_compare_func
Функция сравнения должна возвращать целое, которое меньше, равно или больше нуля, если первый аргумент является соответственно меньшим, равным или большим, чем второй.
Возвращает ассоциативный массив,
состоящий из значений массива array
,
ключи которых содержатся во всех аргументах.
Пример #1 Пример использования фукции array_intersect_ukey()
<?php
function key_compare_func($key1, $key2)
{
if ($key1 == $key2)
return 0;
else if ($key1 > $key2)
return 1;
else
return -1;
}
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
var_dump(array_intersect_ukey($array1, $array2, 'key_compare_func'));
?>
Результат выполнения приведённого примера:
array(2) { ["blue"]=> int(1) ["green"]=> int(3) }
В нашем примере только ключи 'blue'
и 'green'
содержатся в обоих массивах, и поэтому
возвращаются. Обратите внимание, что значения, которые соответствуют ключам
'blue'
и 'green'
, неодинаковые в двух
массивах. Совпадение всё равно есть, так как сравниваются только ключи.
Возвращаемые значения берутся из массива array
.