Función array_intersect_uassoc() de PHP

Ejemplo

Comparar los nombres de clave y valores de dos arrays (usar una función personalizada para comparar los nombres de clave) y devolver la intersección:

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

Ejemplo de ejecución

Definición y uso

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

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

Esta función compara los nombres de clave y valores de dos (o más) arrays y devuelve un array de intersección que incluye todos los elementos enarray1) también en cualquier otro array de parámetros (array2 o array3 etc.) los nombres de clave y valores.

Descripción

La función array_intersect_uassoc() utiliza una función de devolución de llamada personalizada del usuario para calcular la intersección de los arrays, utilizando la función de devolución de llamada para comparar los índices.

array_intersect_uassoc() devuelve un array que contiene todos los valores array1 también aparecen en todos los otros arrays de parámetros. Los nombres de clave en el array devuelto se mantienen sin cambios.

Tenga en cuenta que, a diferencia de array_intersect(), además de comparar los valores de clave, también se comparan los nombres de clave.

Esta comparación se realiza a través de una función de devolución de llamada proporcionada por el usuario. Esta función tiene dos parámetros, los nombres de clave de dos claves que se van a comparar. Si el primer parámetro es menor que el segundo parámetro, la función debe devolver 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 parámetro, debe devolver un número positivo.

sintaxis

array_intersect_uassoc(array1,array2,array3...myfunction)
Parámetros Descripción
array1 Necesario. Primer array para comparar con otros arrays.
array2 Necesario. Array para comparar con el primer array.
array3,... Opcional. Otros arrays para comparar con el primer array.
myfunction Necesario. Definir una cadena que indique 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 mayor, igual o menor que 0.

Detalles técnicos

Valor de retorno: Devuelve el array de intersección, que incluye todos los elementos en los arrays comparados (array1) también en cualquier otro array de parámetros (array2 o array3 etc.) los nombres de clave y valores.
Versión de PHP: 5+

Más ejemplos

Ejemplo 1

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

<?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"=>"red","b"=>"green","d"=>"blue");
$a3=array("e"=>"yellow","a"=>"red","d"=>"blue");
$result=array_intersect_uassoc($a1,$a2,$a3,"myfunction");
print_r($result);
?>

Ejemplo de ejecución