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() 函数用于比较两个(或更多个)数组的键名和键值,并返回差集。

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

该函数比较两个(或更多个)数组的键名和键值,并返回一个差集数组,该数组包括了所有在被比较的数组(array1ma non in nessun altro array di parametri (array2 o array3 e simili) i nomi delle chiavi e i valori delle chiavi.

说明

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

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

对键名(索引)的检查也是由回调函数 myfunction_key 进行的。这和 array_udiff_assoc() Il comportamento è diverso, l'ultimo utilizza la funzione interna per confrontare gli indici.

Il confronto dei dati degli array è effettuato utilizzando la funzione di callback fornita dall'utente myfunction_value effettuato. In questo senso e array_diff_assoc() Il comportamento è esattamente opposto, l'ultimo è confrontato con la funzione interna.

Queste due funzioni hanno due parametri da confrontare. Se il primo parametro è minore del secondo, la funzione restituisce un numero negativo, se i due parametri sono uguali, deve restituire 0, se il primo parametro è maggiore del secondo, deve restituire un numero positivo.

Sintassi

array_udiff_uassoc(array1,array2,array3...,myfunction_key,myfunction_value)
Parametri Descrizione
array1 Obbligatorio. Primo array da confrontare con altri array.
array2 Obbligatorio. Array da confrontare con il primo array.
array3,... Opzionale. Altri array da confrontare con il primo array.
myfunction_key

Obbligatorio. Il nome della funzione utente personalizzata utilizzata per confrontare i nomi degli array.

Valore di stringa, definisce la funzione di confronto chiamabile. Se il primo parametro è meno o uguale a maggiore di secondo parametro, la funzione di confronto deve restituire un intero minore o uguale a maggiore di 0.

myfunction_value

Obbligatorio. Il nome della funzione utente personalizzata utilizzata per confrontare i valori degli array.

Valore di stringa, definisce la funzione di confronto chiamabile. Se il primo parametro è meno o uguale a maggiore di secondo parametro, la funzione di confronto deve restituire un intero minore o uguale a maggiore di 0.

Dettagli tecnici

Valore di ritorno: Restituisce un array di differenze, che include tutti gli elementi degli array confrontati (array1ma non in nessun altro array di parametri (array2 o array3 e simili) i nomi delle chiavi e i valori delle chiavi.
Versione PHP: 5+