Вычисляет расхождение массивов, сравнивая ключи

# array_diff_key

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

array_diff_key — Вычисляет расхождение массивов, сравнивая ключи

### Описание

function array_diff_key(array `$array`, array `...$arrays`): array

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

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

`array`

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

`arrays`

  Массивы для сравнения

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

Возвращает массив (array), содержащий все элементы `array` с ключами, которых нет во всех последующих массивах.

### Список изменений

Версия | Описание
--- | ---
8.0.0 | Функция теперь поддерживает вызов только с одним аргументом. Раньше требовалось не меньше двух аргументов.

### Примеры

Пример #1 Пример использования array_diff_key()

Два ключа пар `key => value` считаются равными только тогда, когда `(string) $key1 === (string) $key2` . Другими словами, применяется строгая проверка, означающая что строковые представления должны быть одинаковыми.

    <?php
    $array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
    $array2 = array('green' => 5, 'yellow' => 7, 'cyan' => 8);

    var_dump(array_diff_key($array1, $array2));
    ?>

Результат выполнения приведённого примера:

    array(3) {
      ["blue"]=>
      int(1)
      ["red"]=>
      int(2)
      ["purple"]=>
      int(4)
    }

    <?php
    $array1 = array('blue' => 1, 'red'  => 2, 'green' => 3, 'purple' => 4);
    $array2 = array('green' => 5, 'yellow' => 7, 'cyan' => 8);
    $array3 = array('blue' => 6, 'yellow' => 7, 'mauve' => 8);

    var_dump(array_diff_key($array1, $array2, $array3));
    ?>

Результат выполнения приведённого примера:

    array(2) {
      ["red"]=>
      int(2)
      ["purple"]=>
      int(4)
    }

### Примечания

> Замечание:

> Эта функция обрабатывает только одно измерение n-размерного массива. Естественно, вы можете обрабатывать и более глубокие уровни вложенности, например, используя `array_diff_key($array1[0], $array2[0]);`.

### Смотрите также

- array_diff() - Вычисляет расхождение массивов
- array_udiff() - Вычисляет расхождение массивов, используя для сравнения callback-функцию
- array_diff_assoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
- array_diff_uassoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса через пользовательскую callback-функцию
- array_udiff_assoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
- array_udiff_uassoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, сравнивая значения и индексы через callback-функцию
- array_diff_ukey() - Вычисляет расхождение массивов, используя callback-функцию для сравнения ключей
- array_intersect() - Вычисляет пересечение массивов
- array_intersect_assoc() - Вычисляет пересечение массивов с дополнительной проверкой индекса
- array_intersect_uassoc() - Вычисляет пересечение массивов с дополнительной проверкой индекса, сравнивая индексы через callback-функцию
- array_intersect_key() - Вычисляет пересечение массивов путём сравнения ключей
- array_intersect_ukey() - Вычисляет пересечение массивов, используя callback-функцию для сравнения ключей

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open