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

array_diff_ukey

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

array_diff_ukeyComputes the difference of arrays using a callback function on the keys for comparison

Опис

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

Compares the keys from array against the keys from arrays and returns the difference. This function is like array_diff() except the comparison is done on the keys instead of the values.

Unlike array_diff_key() a user supplied callback function is used for the indices comparison, not internal function.

Параметри

array

The array to compare from

arrays

Arrays to compare against

key_compare_func

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

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

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

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

Returns an array containing all the entries from array that are not present in any of the other arrays.

Приклади

Приклад #1 array_diff_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_diff_ukey($array1, $array2, 'key_compare_func'));
?>

Поданий вище приклад виведе:

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

Примітки

Зауваження:

This function only checks one dimension of a n-dimensional array. Of course you can check deeper dimensions by using array_diff_ukey($array1[0], $array2[0], 'callback_func');.

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