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-функції