array_udiff_uassoc

(PHP 5, PHP 7, PHP 8)

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

Опис

array_udiff_uassoc(    array $array,    array ...$arrays,    callable $value_compare_func,    callable $key_compare_func): array

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

Обратите внимание, что в отличие от функцийarray_diff() і array_udiff() при порівнянні значень порівнюються і ключі.

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

array

Перший масив.

arrays

Масиви для порівняння.

value_compare_func

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

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

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

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

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

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

Loading...

key_compare_func

Порівняння ключів (індексів) виконується також callback-функцією key_compare_func. Ця поведінка відрізняється від поведінки функції array_udiff_assoc()яка порівнює індекси через внутрішню функцію.

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

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

Приклади

Приклад #1 Приклад використання функції array_udiff_uassoc()****

Loading...

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

Array
(
    [0.1] => cr Object
        (
            [priv_member:private] => 9
        )

    [0.5] => cr Object
        (
            [priv_member:private] => 12
        )

    [0] => cr Object
        (
            [priv_member:private] => 23
        )
)

У наведеному прикладі видно, що пара "1" => new cr(4) є в обох масивах, і тому її немає у висновку функції. Функція буде працювати лише тоді, коли їй надали дві функції зворотного дзвінка.

Примітки

Зауваження: Зверніть увагу, що функція обробляє лише перший рівень багатовимірного масиву. Значення на вкладених рівнях обробляють, наприклад, так: array_udiff_uassoc($array1[0], $array2[0], "data_compare_func", "key_compare_func");

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

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