array_diff_uassoc

(PHP 5, PHP 7, PHP 8)

array_diff_uassoc — Обчислює розбіжність масивів з додатковою перевіркою індексу через пользовательскую callback-функцію

Опис

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

Порівнює значення масиву array зі значеннями масивів arrays та повертає різницю. У цій функції, на відміну від функції array_diff(), ключі масиву також беруть участь у порівнянні.

В отличие от функцииarray_diff_assoc(), у цій функції ключі порівнюються спеціальною функцією зворотного виклику, а не вбудованою.

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

array

Вихідний масив

arrays

Масиви, з якими йде порівняння

key_compare_func

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

callback(mixed $a, mixed $b): int

Застереження

Возвращениенецілих значень з функції порівняння, таких як число з плаваючою точкою (float), призведе до внутрішнього приведення значення callback-функції, що повертається, до цілого числа (int). Таким чином, значення 0.99и0.1 будуть приведені до цілого значення що дозволить порівняти ці значення як рівні.

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

Повертає масив (array), що містить усі елементи масиву array, яких немає в інших порівнюваних масивах.

Приклади

Приклад #1 Приклад використання array_diff_uassoc()****

У цьому прикладі пара "a" => "green" існує в обох міститься в обох масивах, і тому її немає у висновку функції. Але пара 0 => "red" міститься у виведенні функції, тому що значенням "red" у першому масиві автоматично надається ключ , а в другому масиві тому ж значенню буде надано ключ оскільки ключ уже занят значениемyellow

Loading...

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

Array
(
    [b] => brown
    [c] => blue
    [0] => red
)

Рівність 2 індексів перевіряється функцією, що надається користувачем.

Примітки

Зауваження :

Ця функція перевіряє лише один рівень n-мірного масиву. Порівняти вкладені масиви можна, вказавши глибший рівень, наприклад: array_diff_uassoc($array1[0], $array2[0], "key_compare_func");

Дивіться також

  • array_diff() - обчислює розбіжність масивів
  • array_diff_assoc() - обчислює розбіжність масивів з додатковою перевіркою індексу
  • array_udiff() - обчислює розбіжність масивів, використовуючи для порівняння callback-функцію
  • array_udiff_assoc() - обчислює розбіжність у масивах з додатковою перевіркою індексів, використовуючи порівняння значень callback-функцию
  • array_udiff_uassoc() - обчислює розбіжність у масивах з додатковою перевіркою індексів, використовуючи для порівняння значень та індексів callback-функцію
  • array_intersect() - обчислює перетин масивів
  • array_intersect_assoc() - обчислює перетин масивів з додатковою перевіркою індексу
  • array_uintersect() - обчислює перетин масивів, використовуючи для порівняння значень callback-функцію
  • array_uintersect_assoc() - обчислює перетин масивів з додатковою перевіркою індексів, використовуючи для порівняння значень callback-функцію
  • array_uintersect_uassoc() - обчислює перетин масивів з додатковою перевіркою індексу, використовуючи для порівняння індексів та значень окремі callback-функції