English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP базовый учебник

PHP продвинутый учебник

PHP & MySQL

PHP справочник

Примеры использования и примеры функции array_diff_ukey() в PHP

PHP Масштаб функции

Функция array_diff_ukey() в PHP сравнивает массивы и возвращает разность двух массивов (сравниваются только имена ключей, используется пользовательская функция сравнения ключей).

Определение и использование

array_diff_ukey()Использование пользовательской функции сравнивает только ключи двух (или более) массивов и возвращает массив, который содержит элементы array1, но не содержит в array2 или array3 и т.д.

Эта функция отличается отarray_diff()Функция, потому что array_diff() сравнивает значения, а эта функция сравнивает ключи.

Эта функция отличается отarray_diff_assoc()Функция, потому что array_diff_assoc() использует внутренний алгоритм сравнения индексов, а эта функция использует пользовательскую функцию.

Синтаксис

array_diff_ukey( $array1, $array2[, $array3..., callback $key_compare_func]);

Параметр

НомерПараметры и описание
1

array1(Обязательный)

Первый массив - это массив, который будет сравниваться с другими массивами.

2

array2(Обязательный)

Это массив, который нужно сравнить с первым массивом

3

array3(Опционально)

Это массив, который нужно сравнить с первым массивом

4

key_compare_func(Обязательный)

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

Возврат значений

Эта функция возвращает массив, который содержит все элементы из array1, которые отсутствуют во всех других массивах.

Версия PHP

Эта функция была добавлена в PHP версии 5.1.0.

Онлайн пример

Пример использования array_diff_ukey() и key_compare_func()

<?php
   function key_compare_func($a, $b) {
      if ($a === $b) {
         return 0;
      }
      return ($a > $b) ? 1 : -1;
   }
   $input1 = array(0 => "banana", 1 => "orange", 2 => "grapes");
   $input2 = array(3 => "apple", 1 => "apricot", 5 => "mango");
   print_r(array_diff_ukey($input1,$input2,"key_compare_func"));
?>
Проверим‹/›

Результат вывода:

Массив
(
    [0] => banana
    [2] => grapes
)

Онлайн пример

Пример array_intersect_ukey()

<?php
   function key_compare_func($a, $b) {
      if ($a === $b) {
         return 0;
      }
      return ($a > $b) ? 1 : -1;
   }
   $input1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
   $input2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
   print_r(array_diff_ukey($input1,$input2,"key_compare_func"));
?>
Проверим‹/›

Результат вывода:

Массив
(
    [красный] => 2
    [紫色] => 4
)

PHP Масштаб функции