array_udiff_assoc
(PHP 5, PHP 7, PHP 8)
array_udiff_assoc - Обчислює розбіжність у масивах з додатковою перевіркою індексів, використовуючи для порівняння значень callback-функцію
Опис
array_udiff_assoc(array $array, array ...$arrays, callable $value_compare_func): array
Обчислює розбіжність масивів з додатковою перевіркою індексів, використовуючи порівняння значень callback-функцию.
Зауваження: Зверніть увагу, що функція обробляє лише перший рівень багатовимірного масиву. Значення на вкладених рівнях обробляють, наприклад, так:
array_udiff_assoc($array1[0], $array2[0], "some_comparison_func");
Список параметрів
array
Перший масив.
arrays
Масиви для порівняння.
value_compare_func
Функція порівняння повинна повертати ціле, яке менше, дорівнює чи більше нуля, якщо перший аргумент є відповідно меншим, рівним чи більшим, ніж другий.
callback(mixed $a, mixed $b): int
Застереження
Возвращениенецілих значень з функції порівняння, таких як число з плаваючою точкою (float), призведе до внутрішнього приведення значення callback-функції, що повертається, до цілого числа (int). Таким чином, значення 0.99
и0.1
будуть приведені до цілого значення що дозволить порівняти ці значення як рівні.
Застереження
Callback-функція сортування повинна обробляти будь-яке значення з будь-якого масиву у будь-якому порядку, незалежно від того, в якому порядку вони були надані спочатку. Причина цього у тому, кожен окремий масив спочатку сортується перед порівнянням коїться з іншими масивами. Наприклад:
Loading...
Значення, що повертаються
Функцияarray_udiff_assoc() повертає масив (array), що містить елементи аргументу array
, яких немає в жодному іншому аргументі. Зверніть увагу, що на відміну від функцій array_diff() і array_udiff() при порівнянні значень порівнюються і ключі. Значення масиву порівнює задана користувачем callback-функція. У цій частині поведінка функції відрізняється від поведінки функції array_diff_assoc()яка для порівняння працює з вбудованою функцією.
Приклади
Приклад #1 Приклад використання функції array_udiff_assoc()****
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_diff() - обчислює розбіжність масивів
- array_diff_assoc() - обчислює розбіжність масивів з додатковою перевіркою індексу
- array_diff_uassoc() - Обчислює розбіжність масивів з додатковою перевіркою індексу через пользовательскую callback-функцію
- array_udiff() - обчислює розбіжність масивів, використовуючи для порівняння callback-функцію
- array_udiff_uassoc() - обчислює розбіжність у масивах з додатковою перевіркою індексів, використовуючи для порівняння значень та індексів callback-функцію
- array_intersect() - обчислює перетин масивів
- array_intersect_assoc() - обчислює перетин масивів з додатковою перевіркою індексу
- array_uintersect() - обчислює перетин масивів, використовуючи для порівняння значень callback-функцію
- array_uintersect_assoc() - обчислює перетин масивів з додатковою перевіркою індексів, використовуючи для порівняння значень callback-функцію
- array_uintersect_uassoc() - обчислює перетин масивів з додатковою перевіркою індексу, використовуючи для порівняння індексів та значень окремі callback-функції