Función array_intersect_uassoc
La función array_intersect_uassoc compara arrays y devuelve los elementos que están presentes en todos los arrays, utilizando para la comparación de claves una función callback. El primer parámetro es el array principal, los siguientes son arrays para comparar, y el último parámetro es la función callback para comparar claves.
Sintaxis
array_intersect_uassoc(array $array1, array $array2, ..., callable $key_compare_func): array;
Ejemplo
Comparemos dos arrays con verificación de claves mediante función de usuario:
<?php
$array1 = ['a' => 1, 'b' => 2, 'c' => 3];
$array2 = ['a' => 1, 'b' => 5, 'c' => 3];
function compareKeys($a, $b) {
return $a <=> $b;
}
$res = array_intersect_uassoc($array1, $array2, 'compareKeys');
print_r($res);
?>
Resultado de ejecutar el código:
['a' => 1, 'c' => 3]
Ejemplo
Comparemos tres arrays con función de usuario para comparar claves:
<?php
$array1 = [1 => 'a', 2 => 'b', 3 => 'c'];
$array2 = [1 => 'a', 4 => 'b', 3 => 'd'];
$array3 = [1 => 'a', 3 => 'e'];
function keyCompare($key1, $key2) {
if ($key1 == $key2) {
return 0;
}
return ($key1 < $key2) ? -1 : 1;
}
$res = array_intersect_uassoc($array1, $array2, $array3, 'keyCompare');
print_r($res);
?>
Resultado de ejecutar el código:
[1 => 'a']
Ver también
-
la función
array_intersect,
que calcula la intersección de arrays sin verificar claves -
la función
array_intersect_assoc,
que calcula la intersección de arrays con verificación de claves -
la función
array_uintersect_assoc,
que calcula la intersección de arrays con verificación de claves mediante función callback