Función array_diff_ukey() de PHP

Ejemplo

Comparar los nombres de clave de dos matrices (usar una función personalizada del usuario para comparar los nombres de clave) y devolver la diferencia:

<?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"=>"blue","b"=>"black","e"=>"blue");
$result=array_diff_ukey($a1,$a2,"myfunction");
print_r($result);
?>

Ejemplo de ejecución

Definición y uso

La función array_diff_ukey() se utiliza para comparar los nombres de clave de dos (o más) matrices y devuelve la diferencia.

Notas:¡Esta función utiliza una función personalizada del usuario para comparar los nombres de clave!

Esta función compara los nombres de clave de dos (o más) matrices y devuelve una matriz de diferencia que incluye todos los elementos de los matrices comparados (array1) pero no en cualquier otro array de parámetros (array2 o array3 etc.) de los nombres de clave.

Sintaxis

array_diff_ukey(array1,array2,array3...,myfunction);
Parámetros Descripción
array1 Necesario. La primera matriz para comparar con otras.
array2 Necesario. La matriz con la que se compara la primera.
array3,... Opcional. Otra matriz para comparar con la primera.
myfunction Necesario. La cadena que define la función de comparación que puede ser llamada. 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 mayor, igual o menor que 0.

Descripción

array_diff_ukey() devuelve un array que incluye todas las claves que aparecen array1 pero no aparecen en cualquier otro array de parámetros. Nota: se mantiene la relación asociativa. A diferencia de array_diff(), la comparación se realiza según los nombres de clave y no según los valores.

Esta comparación se realiza mediante una función de devolución de llamada proporcionada por el usuario. Debe devolver un entero menor que cero, cero o mayor que cero si considera que el primer parámetro es menor, igual o mayor que el segundo parámetro.

Detalles técnicos

Valor de retorno: devuelve un array de diferencia que incluye todas las claves que están enarray1) pero no en cualquier otro array de parámetros (array2 o array3 etc.) de los nombres de clave.
Versión de PHP: 5.1+

Más ejemplos

Ejemplo 1

Comparar los nombres de clave de tres matrices (usar función personalizada del usuario para comparar nombres de clave) y devolver la diferencia:

<?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"=>"black","b"=>"yellow","d"=>"brown");
$a3=array("e"=>"purple","f"=>"white","a"=>"gold");
$result=array_diff_ukey($a1,$a2,$a3,"myfunction");
print_r($result);
?>

Ejemplo de ejecución