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