array_intersect_ukey
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
array_intersect_ukey — Вычисляет пересечение массивов, используя callback-функцию для сравнения ключей
Список параметров
array
-
Основной проверяемый массив.
arrays
-
Массивы, с которыми сравниваются ключи.
key_compare_func
-
Функция сравнения должна возвращать целое, которое меньше,
равно или больше нуля, если первый аргумент является соответственно меньшим, равным или большим, чем второй.
Предостережение
При возврате из функции сравнения нецелых значений наподобие float
PHP внутренне приведёт значение, которое возвращает callback-функции, к типу int.
Поэтому значения наподобие 0.99 и 0.1
приводятся к целочисленному значению 0
и сравниваются как равные.
Возвращаемые значения
Возвращает ассоциативный массив,
состоящий из значений массива 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.
Смотрите также
- array_diff() - Вычисляет расхождение массивов
- array_udiff() - Вычисляет расхождение массивов, используя для сравнения callback-функцию
- array_diff_assoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
- array_diff_uassoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
через пользовательскую callback-функцию
- array_udiff_assoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов,
используя для сравнения значений callback-функцию
- array_udiff_uassoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов,
сравнивая значения и индексы через callback-функцию
- array_diff_key() - Вычисляет расхождение массивов, сравнивая ключи
- array_diff_ukey() - Вычисляет расхождение массивов, используя callback-функцию для сравнения ключей
- array_intersect() - Вычисляет пересечение массивов
- array_intersect_assoc() - Вычисляет пересечение массивов с дополнительной проверкой индекса
- array_intersect_uassoc() - Вычисляет пересечение массивов с дополнительной проверкой индекса,
сравнивая индексы через callback-функцию
- array_intersect_key() - Вычисляет пересечение массивов путём сравнения ключей