(PHP 5 >= 5.1.0, PHP 7, PHP 8)
array_intersect_key — Вычисляет пересечение массивов путём сравнения ключей
Функция array_intersect_key() возвращает
из массива array элементы
с общими для каждого массива ключами.
arrayГлавный массив.
arraysМассивы, с ключами которых требуется сравнить ключи главного массива.
Функция возвращает ассоциативный массив с элементами
массива array, ключи которых
пересекаются с ключами остальных массивов.
| Версия | Описание |
|---|---|
| 8.0.0 | Функция теперь поддерживает вызов только с одним аргументом. Раньше требовалось не меньше двух аргументов. |
Пример #1 Пример поиска пересечения ключей массивов функцией array_intersect_key()
<?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
var_dump(array_intersect_key($array1, $array2));Результат выполнения приведённого примера:
array(2) {
["blue"]=>
int(1)
["green"]=>
int(3)
}
В приведённом примере только ключи 'blue'
и 'green' содержатся в обоих массивах, и поэтому
возвращаются. Обратите внимание, что значения ключей
'blue' и 'green' не идентичны в двух
массивах, но функция включает элемент в результат, поскольку сравниваются только ключи.
Итоговый массив содержит значения из массива array.
Два ключа пар key => value равны, только если
выражение (string) $key1 === (string) $key2 истинно;
выполняется строгая проверка строковых представлений.