Функция PHP array_uintersect_assoc()

Пример

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

<?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"=>"blue","c"=>"green");
$result=array_uintersect_assoc($a1,$a2,"myfunction");
print_r($result);
?>

Пример выполнения

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

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

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

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

Обратите внимание, что с array_uintersect( Разница в том, что также сравниваются имена ключей. Данные (ключи значений) сравниваются с помощью回调-функций.

Синтаксис

array_uintersect_assoc(array1,array2,array3,...myfunction)
Параметры Описание
array1 Обязателен. Первый массив для сравнения с другими массивами.
array2 Обязателен. Массив для сравнения с первым массивом.
array3,... Опционален. Другие массивы для сравнения с первым массивом.
myfunction

Обязателен. Строковое значение, определяющее вызываемую функцию.

Если первый параметр меньше или больше второго параметра, функция сравнения должна возвращать целое число, меньшее или большее 0.

Описание

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

Сравнение ключей и значений также выполняется, например, элементы "a"=>1 и "b"=>1 не равны.

function Функция,指定的参数用于比较 элементы равны ли.function Функция имеет два параметра для сравнения. Если первый параметр меньше второго, функция возвращает отрицательное число, если параметры равны, то возвращает 0, если первый параметр больше второго, то возвращает положительное число.

Имена ключей в возвращаемом массиве сохраняются.

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

Возврат значений: Возвращает массив, содержащий все элементы array1 содержится в данном массиве и также во всех других массивах.
Версия PHP: 5+