English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Учебник по PHP для начинающих

Учебник по PHP для продвинутых

PHP и MySQL

Руководство по PHP

Пример использования и руководство по функции array_udiff_assoc() в PHP

PHP Масштаб функции массива

Функция 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 )

   PHP Масштаб функции массива