array_diff_ukey
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
array_diff_ukey — Вычисляет расхождение массивов, используя callback-функцию для сравнения ключей
Описание
Сравнивает ключи array с ключами
arrays и возвращает разницу.
Эта функция похожа на array_diff() за исключением того,
что сравниваются ключи, а не значения.
В отличие от функции array_diff_key() для
сравнения ключей используется функция, предоставляемая пользователем,
а не встроенная функция.
Список параметров
array
-
Исходный массив
arrays
-
Массивы, с которыми идёт сравнение
key_compare_func
-
Функция сравнения должна возвращать целое, которое меньше,
равно или больше нуля, если первый аргумент является соответственно меньшим, равным или большим, чем второй.
Предостережение
При возврате из функции сравнения нецелых значений наподобие float
PHP внутренне приведёт значение, которое возвращает callback-функции, к типу int .
Поэтому значения наподобие 0.99 и 0.1
приводятся к целочисленному значению 0
и сравниваются как равные.
Возвращаемые значения
Возвращает массив (array ), содержащий все элементы
array, отсутствующие в каком-либо из всех
остальных массивов.
Примеры
Пример #1 Пример использования array_diff_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_diff_ukey($array1, $array2, 'key_compare_func'));
?>
Результат выполнения приведённого примера:
array(2) {
["red"]=>
int(2)
["purple"]=>
int(4)
}
Примечания
Замечание:
Обратите внимание, что эта функция обрабатывает только одно измерение
n-размерного массива. Естественно, вы можете обрабатывать и
более глубокие уровни вложенности, например, используя
array_diff_ukey($array1[0], $array2[0], 'callback_func');.
Смотрите также
- array_diff() - Вычисляет расхождение массивов
- array_udiff() - Вычисляет расхождение массивов, используя для сравнения callback-функцию
- array_diff_assoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
- array_diff_uassoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
через пользовательскую callback-функцию
- array_udiff_assoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов,
используя для сравнения значений callback-функцию
- array_udiff_uassoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов,
сравнивая значения и индексы через callback-функцию
- array_diff_key() - Вычисляет расхождение массивов, сравнивая ключи
- array_intersect() - Вычисляет пересечение массивов
- array_intersect_assoc() - Вычисляет пересечение массивов с дополнительной проверкой индекса
- array_intersect_uassoc() - Вычисляет пересечение массивов с дополнительной проверкой индекса,
сравнивая индексы через callback-функцию
- array_intersect_key() - Вычисляет пересечение массивов путём сравнения ключей
- array_intersect_ukey() - Вычисляет пересечение массивов, используя callback-функцию для сравнения ключей
Пользователи ещё не добавляли примечания для страницы