array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'uk', ), 'this' => array ( 0 => 'function.array-intersect-ukey.php', 1 => 'array_intersect_ukey', 2 => 'Computes the intersection of arrays using a callback function on the keys for comparison', ), 'up' => array ( 0 => 'ref.array.php', 1 => 'Функції для роботи з масивами', ), 'prev' => array ( 0 => 'function.array-intersect-uassoc.php', 1 => 'array_intersect_uassoc', ), 'next' => array ( 0 => 'function.array-is-list.php', 1 => 'array_is_list', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/array/functions/array-intersect-ukey.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>

array_intersect_ukey

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

array_intersect_ukeyComputes the intersection of arrays using a callback function on the keys for comparison

Опис

array_intersect_ukey(array $array, array ...$arrays, callable $key_compare_func): array

array_intersect_ukey() returns an array containing all the values of array which have matching keys that are present in all the arguments.

Параметри

array

Initial array for comparison of the arrays.

arrays

Arrays to compare keys against.

key_compare_func

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

callback(mixed $a, mixed $b): int
Застереження

Якщо функція порівняння повертає не цілі значення, такі як float, вони будуть приведені до типу int під час повернення з функції зворотнього виклику. Тож значення, схожі на 0.99 або 0.1 будуть приведені до цілого 0, отже члени порівняння вважатимуться однаковими.

Значення, що повертаються

Returns the values of array whose keys exist in all the arguments.

Приклади

Приклад #1 array_intersect_ukey() example

<?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)
}

In our example you see that only the keys 'blue' and 'green' are present in both arrays and thus returned. Also notice that the values for the keys 'blue' and 'green' differ between the two arrays. A match still occurs because only the keys are checked. The values returned are those of array.

Прогляньте також