English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Функция array_udiff_assoc() используется для сравнения ключей и значений двух (или более) массивов и возвращает разницу.
array_udiff_assoc ( $array1, $array2 [, $array3 ..., $data_compare_func] );
Сравнение производится с помощью предоставленной пользователем функции回调. Если необходимо вернуть, что первый параметр меньше, равен или больше второго параметра, необходимо вернуть целое число, меньшее, равное или большее нуля соответственно.
Он использует дополнительный индекс для вычисления разницы между массивами, сравнивает данные с помощью функции回调 и возвращает массив, который включает все значения array1, которые не встречаются в других параметрических массивах.
Номер | Параметры и описание |
---|---|
1 | array1(обязательный) Он определяет массив. |
2 | array2(обязательный) Он определяет массив, который нужно сравнить с первым массивом. |
3 | array3(дополнительный) Он определяет массив, который нужно сравнить с первым массивом. |
4 | data_compare_func*(обязательный) Название пользовательской функции. |
Функция array_udiff_assoc() возвращает массив, который включает все значения,存在的 только в array1, но не в других параметрических массивах. Важно отметить, что в отличие от array_diff() и array_udiff(), ключи также используются для сравнения. Сравнение данных массива производится с помощью предоставленной пользователем функции回调. В этом отношении поведение соответствует behavior array_diff_assoc(), который использует внутренние функции для сравнения.
Использование array_udiff_assoc с пользовательской функцией сравнения для вычисления разницы между двумя массивами
<?php function call_back_function($v1,$v2) { if ($v1 === $v2) { return 0; } return 1; } $input = array("a"=>"orange","b"=>"orange","c"=>"mango"); $input1 = array("a"=>"orange","b"=>"mango","c"=>"orange"); print_r(array_udiff_assoc($input,$input1,"call_back_function")); ?>Проверим‹/›
Результат вывода:
Массив ( [b] => orange [c] => mango )