Функции для работы с массивами
PHP Manual

array_diff_key

(PHP 5 >= 5.1.0, PHP 7)

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

Описание

array array_diff_key ( array $array1 , array $array2 [, array $... ] )

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

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

array1

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

array2

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

...

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

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

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

Примеры

Пример #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]);.

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


Функции для работы с массивами
PHP Manual