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

array_intersect_ukey

(PHP 5 >= 5.1.0)

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

Описание

array array_intersect_ukey ( array $array1 , array $array2 [, array $... ], callback $key_compare_func )

array_intersect_ukey() возвращает массив, содержащий значения array1, имеющие ключи, содержащиеся во всех последующих параметрах.

Для сравнения используется функция, предосталяемая пользователем. Она должна возвращать целое число меньшее, равное или большее нуля, если первый ключ, соответственно, меньше, равен или больше второго.

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

array1

Основной проверяемый массив.

array2

Первый массив, с которым сравниваются ключи.

array

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

key_compare_func

Предоставленная пользователем callback-функция.

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

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

Примеры

Пример #1 Пример использования array_intersect_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_intersect_ukey($array1$array2'key_compare_func'));
?>

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

array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}

В нашем примере только ключи 'blue' и 'green' содержатся в обоих массивах и поэтому возвращаются. Также обратите внимание, что значения, соответствующие ключам 'blue' и 'green' отличаются между массивами. Совпадение все равно происходит, так как сравниваются только ключи. Возвращаемые значения берутся из array1.

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


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