Función array_udiff() de PHP

Ejemplo

Comparar los valores de clave de dos arrays (usar una función personalizada para comparar valores 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_udiff($a1,$a2,"myfunction");
print_r($result);
?>

Ejemplo de ejecución

Definición y uso

La función array_udiff() se utiliza para comparar los valores de clave de dos (o más) arrays y devuelve la diferencia.

Nota:¡La función utiliza una función personalizada para comparar valores de clave!

La función compara los valores de clave de dos (o más) arrays y devuelve un array de diferencia que incluye todos los valores en los arrays comparados (array1) pero no en cualquier otro array de parámetros (array2 o array3 etc.) los valores clave.

Descripción

La función array_udiff() devuelve un array que incluye todos los valores que están en los arrays comparados, pero no en ninguno de los otros arrays de parámetros, conservando los nombres de clave.

La función array_udiff() es similar a array_diff() El comportamiento de la función es diferente, la última utiliza una función interna para comparar.

La comparación de datos se realiza utilizando la función array_udiff() myfunction realizada.myfunction La función tiene dos parámetros que se compararán. Si el primer parámetro es menor que el segundo, la función devuelve un número negativo, si los dos parámetros son iguales, debe devolver 0, y si el primer parámetro es mayor que el segundo, devuelve un número positivo.

sintaxis

array_udiff(array1,array2,array3...myfunction)}}
Parámetros Descripción
array1 Requerido. Primer array para comparar con otros arrays.
array2 Requerido. Array para comparar con el primer array.
array3,... Opcional. Otros arrays para comparar con el primer array.
myfunction

Requerido. Valor de cadena, define la función invocable ajustable.

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

Detalles técnicos

Valor devuelto: Devuelve un array de diferencia que contiene todos los valores clave en los arrays comparados (array1) pero no en cualquier otro array de parámetros (array2 o array3 etc.) los valores clave.
Versión de PHP: 5.1.0+

Más ejemplos

Ejemplo 1

Comparar los valores clave de tres matrices (usar función personalizada del usuario para comparar valores 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","yellow");
$a2=array("A"=>"red","b"=>"GREEN","yellow","black");
$a3=array("a"=>"green","b"=>"red","yellow","black");
$result=array_udiff($a1,$a2,$a3,"myfunction");
print_r($result);
?>

Ejemplo de ejecución