array_udiff

(PHP 5, PHP 7, PHP 8)

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

Опис

array_udiff(array $array, array ...$arrays, callable $value_compare_func): array

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

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

array

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

arrays

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

value_compare_func

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

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

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

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

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

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

Loading...

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

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

Приклади

Приклад #1 Приклад використання функції array_udiff()** з об'єктами класу stdClass**

Loading...

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

Array
(
    [0] => stdClass Object
        (
            [width] => 11
            [height] => 3
        )

    [1] => stdClass Object
        (
            [width] => 7
            [height] => 1
        )

)

Приклад #2 Приклад використання функції array_udiff()** з об'єктами класу DateTime**

Loading...

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

Я доступен в следующие дни на этой неделе...

Tuesday
Thursday


Я занят в следующие дни на этой неделе...

Monday: Уборка квартиры сотрудника Google.
Wednesday: Катание на сноуборде.
Friday: Борьба с багами в коде.

Примітки

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

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

  • array_diff() - обчислює розбіжність масивів
  • array_diff_assoc() - обчислює розбіжність масивів з додатковою перевіркою індексу
  • array_diff_uassoc() - Обчислює розбіжність масивів з додатковою перевіркою індексу через пользовательскую 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-функції