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

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

该函数比较两个(或更多个)数组的键名和键值,并返回一个差集数组,该数组包括了所有在被比较的数组(array1pero no en cualquier otro array de parámetros (array2 o array3 y otros) las claves y valores.

说明

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

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

对键名(索引)的检查也是由回调函数 myfunction_key 进行的。这和 array_udiff_assoc() el comportamiento es diferente, el último es comparado con una función interna de índices.

la comparación de datos de array se realiza utilizando una función de devolución de llamada proporcionada por el usuario myfunction_value realizado. En este aspecto y array_diff_assoc() el comportamiento es exactamente opuesto, el último es comparado con una función interna.

Ambas funciones tienen dos parámetros que se compararán. Si el primer parámetro es menor que el segundo parámetro, la función devuelve un número negativo, si los dos parámetros son iguales, se debe devolver 0, y si el primer parámetro es mayor que el segundo, se devuelve un número positivo.

Sintaxis

array_udiff_uassoc(array1,array2,array3,...myfunction_key,myfunction_value)
Parámetros Descripción
array1 Obligatorio. El primer array para comparar con otros arrays.
array2 Obligatorio. El array para comparar con el primer array.
array3,... Opcional. Otro array para comparar con el primer array.
myfunction_key

Obligatorio. El nombre de la función de usuario personalizada utilizada para comparar nombres de array.

Valores de cadena, que definen la función de comparación invocable. Si el primer parámetro es menor igual o mayor que el segundo parámetro, la función de comparación debe devolver un entero menor igual o mayor que 0.

myfunction_value

Obligatorio. El nombre de la función de usuario personalizada utilizada para comparar valores de array.

Valores de cadena, que definen la función de comparación invocable. Si el primer parámetro es menor igual o mayor que el segundo parámetro, la función de comparación debe devolver un entero menor igual o mayor que 0.

Detalles técnicos

Valor devuelto: devuelve un array de diferencia, que incluye todos los elementos en los arrays comparados (array1pero no en cualquier otro array de parámetros (array2 o array3 y otros) las claves y valores.
Versión de PHP: 5+