PHP 7.2.0 Release Candidate 4 Released

array_diff_ukey

(PHP 5 >= 5.1.0, PHP 7)

array_diff_ukeyВычисляет расхождение массивов, используя callback-функцию для сравнения ключей

Описание

array array_diff_ukey ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )

Сравнивает ключи array1 с ключами array2 и возвращает разницу. Эта функция похожа на array_diff() за исключением того, что сравниваются ключи, а не значения.

В отличие от функции array_diff_key() для сравнения ключей используется функция, предоставляемая пользователем, а не встроенная функция.

Список параметров

array1

Исходный массив

array2

Массив, с которым идет сравнение

...

Дополнительные массивы, с которыми осуществляется сравнение

key_compare_func

Функция сравнения должна возвращать целое, которое меньше, равно или больше нуля, если первый аргумент является соответственно меньшим, равным или большим, чем второй. Обратите внимание, что до PHP 7.0.0, это целое не могло выходить за рамки диапазона с -2147483648 по 2147483647

int callback ( mixed $a, mixed $b )

Возвращаемые значения

Возвращает array, содержащий все элементы array1, отсутствующие в каком-либо из всех остальных массивов.

Примеры

Пример #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-функцию для сравнения ключей

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top