PHP array_udiff_uassoc() 函数

实例

比较两个数组的键名和键值(使用用户自定义函数进行比较),并返回差集:

<?php
function myfunction_key($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
function myfunction_value($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","c"=>"green");
$result=array_udiff_uassoc($a1,$a2,"myfunction_key","myfunction_value");
print_r($result);
?>

运行实例

定义和用法

array_udiff_uassoc() 函数用于比较两个(或更多个)数组的键名和键值,并返回差集。

注释:该函数使用两个用户自定义函数进行比较;第一个函数比较键名,第二个函数比较键值!

该函数比较两个(或更多个)数组的键名和键值,并返回一个差集数组,该数组包括了所有在被比较的数组(array1w), ale nie w innych tablicach parametrów (array2 lub array3 i innych) jako kluczów i wartości.

说明

array_udiff_uassoc() 函数返回 array1 数组中存在但其它数组中都不存在的部分。返回的数组中键名保持不变。

注意与 array_diff() 以及 array_udiff() 不同的是键名也用于比较。同时进行键名和键值的比较,例如 "a"=>1 和 "b"=>1 这两个元素是不相等的。

对键名(索引)的检查也是由回调函数 myfunction_key 进行的。这是和 array_udiff_assoc() behaviour is different, the latter uses an internal function to compare indices.

comparing array data is done using the callback function provided by the user myfunction_value is performed. In this respect and array_diff_assoc() behaviour is exactly the opposite, the latter uses an internal function for comparison.

Obie te funkcje mają dwa parametry do porównania. Jeśli pierwszy parametr jest mniejszy od drugiego parametru, funkcja zwraca ujemną liczbę, jeśli parametry są równe, zwraca 0, jeśli pierwszy parametr jest większy od drugiego, zwraca liczbę dodatnią.

Sintaktyka

array_udiff_uassoc(array1,array2,array3,...myfunction_key,myfunction_value)
Parametry Opis
array1 Wymagane. Pierwsza tablica do porównania z innymi tablicami.
array2 Wymagane. Tablica do porównania z pierwszą tablicą.
array3,... Opcjonalne. Inne tablice do porównania z pierwszą tablicą.
myfunction_key

Wymagane. Nazwa użytkownika własnej funkcji porównawczej dla nazw kluczy tablicy.

Wartości stringowe, definiujące wywoływane funkcje porównawcze. Jeśli pierwszy parametr jest mniejszy równy lub większy od drugiego parametru, funkcja porównawcza musi zwrócić całkowitą liczbę mniejszą równą lub większą od 0.

myfunction_value

Wymagane. Nazwa użytkownika własnej funkcji porównawczej dla kluczy tablicy.

Wartości stringowe, definiujące wywoływane funkcje porównawcze. Jeśli pierwszy parametr jest mniejszy równy lub większy od drugiego parametru, funkcja porównawcza musi zwrócić całkowitą liczbę mniejszą równą lub większą od 0.

Szczegóły techniczne

Zwracana wartość: Zwraca tablicę różnic, która zawiera wszystkie elementy z porównywanych tablic (array1w), ale nie w innych tablicach parametrów (array2 lub array3 i innych) jako kluczów i wartości.
Wersja PHP: 5+