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

phparray_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<?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:

php['a' => 1, 'c' => 3]

Ejemplo

Comparemos tres arrays con función de usuario para comparar claves:

php<?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:

php[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