Функция PHP array_diff_uassoc()

Пример

Сравните имена ключей и значения ключей двух массивов (используя пользовательскую функцию для сравнения имен ключей) и верните разницу:

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("d"=>"red","b"=>"green","e"=>"blue");
$result=array_diff_uassoc($a1,$a2,"myfunction");
print_r($result);
?>

Запуск примера

Определение и использование

Функция array_diff_uassoc() используется для сравнения имен ключей и значений ключей двух (или более) массивов и возвращает разницу.

Комментарии:Эта функция использует пользовательскую функцию для сравнения имен ключей!

Эта функция сравнивает имена ключей и значения ключей двух (или более) массивов и возвращает массив разницы, который включает все элементы,array1), но не в других параметрических массивах (array2 или array3 и т.д.) ключей и значений.

Синтаксис

array_diff_uassoc(array1,array2,array3,...myfunction);
Параметры Описание
array1 Обязателен. Первый массив для сравнения с другими массивами.
array2 Обязателен. Массив для сравнения с первым массивом.
array3,... Опционален. Другие массивы для сравнения с первым массивом.
myfunction Обязателен. Строка, определяющая вызовимую функцию сравнения. Если первый параметр меньше, равен или больше второго параметра, функция сравнения должна возвращать целое число, меньше, равное или большее 0.

Описание

Функция array_diff_uassoc() использует пользовательский回调-функцию (callback) для проверки индекса, чтобы вычислить разницу между двумя или несколькими массивами. Возвращает массив, который включает в себя все элементы, array1 но не в других параметрических массивах.

Обратите внимание, что в отличие от функции array_diff(), также сравниваются ключи.

Параметр myfunction - это пользовательская функция, предназначенная для сравнения двух массивов, которая должна иметь два параметра - это ключи, подлежащие сравнению. Таким образом, её поведение точно相反 по сравнению с функцией array_diff_assoc(), которая использует внутренние функции для сравнения.

Возвратный массив сохраняет ключи без изменений.

Технические детали

Возврат значения: Возврат массива разности, который включает все значения в сравниваемых массивах (array1), но не в других параметрических массивах (array2 или array3 и т.д.) ключей и значений.
PHP Версия: 5+

Более примеров

Пример 1

Сравнение ключей и значений трёх массивов (используя пользовательскую функцию для сравнения ключей) и возврат разности:

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","b"=>"green","d"=>"blue");
$a3=array("e"=>"yellow","a"=>"red","d"=>"blue");
$result=array_diff_uassoc($a1,$a2,$a3,"myfunction");
print_r($result);
?>

Запуск примера