PHP | función array_intersect_uassoc()

La función array_intersect_uassoc() es una función incorporada en PHP. Se utiliza para comparar claves y valores de dos o más arrays mediante una función de comparación definida por el usuario y devolver las coincidencias.
La función de comparación devuelve un número entero igual, mayor o menor que cero. Si el primer argumento se considerará respectivamente menor, igual o mayor que el segundo. Si la condición es verdadera, devuelve un valor VERDADERO, de lo contrario, devuelve un valor FALSO. 
Sintaxis: 
 

array_intersect_uassoc($array1, $array2, $array3…, uassoc_intersectFunction)

Parámetros utilizados: esta función acepta un mínimo de tres parámetros y los tres parámetros son obligatorios y los demás parámetros son opcionales. Los parámetros se describen a continuación: 
 

  1. $array1 (Requerido): 
    La array se comparará con otras arrays. 
     
  2. $array2 (Requerido):
    La array comparada con la primera array. 
     
  3. $array3…(Opcional):
    La array comparada con la primera array. 
     
  4. uassoc_intersectFunction (Requerido):
    Es una función definida por el usuario requerida. Una string que define una función de comparación invocable. La función de comparación devuelve un número entero menor, igual o mayor que 0. Si el primer argumento es menor, igual o mayor que el segundo argumento.
     

Valor devuelto : 
Devuelve una array que contiene las entradas de array1 que están presentes en todas las demás arrays, como:-(arra2, arra3, arar4….more). El tipo de valor de retorno es una array.
 

Nota: La función utiliza una función definida por el usuario para comparar las claves . (La funcionalidad de la función definida por el usuario 
se aplica a la clave, no a los valores de las claves)
 

Tomemos un ejemplo para comprender la función array_intersect_uassoc(). 
Programa: 1 En este ejemplo, comparamos las claves de la array utilizando la función strcasecmp que no distingue entre mayúsculas y minúsculas . Compara claves sin distinción entre mayúsculas y minúsculas.

php

<?php
$arr1 = array(
    "a" => "gfg",
    "b" => "GeeksforGeeks",
    "c" => "contribute"
);
$arr2 = array(
    "a" => "gfg",
    "B" => "GeeksforGeeks",
    "c" => "ide"
);
$arr3 = array(
    "x" => "gfg",
    "B" => "GeeksforGeeks",
    "c" => "practice"
);
 
 
 
// Compare the keys and values by using a
// user-defined key comparison function.
// Here callback function applicable on keys
echo "Using function: array_intersect_uassoc() \n ";
$result = array_intersect_uassoc($arr1,
                $arr2, $arr3, "strcasecmp");
 
// printing result
print_r($result);
 
?>

Producción: 
 

Using function: array_uintersect_assoc() 
 Array
(
    [b] => GeeksforGeeks
)

Programa: 2 Tome dos arreglos (arreglo1 y arreglo2) y utilice la función de comparación de claves definida por el usuario (uassoc_intersectFunction). Array de retorno de función con solo claves y valores coincidentes .

PHP

<?php
 
// Illustrate  array_intersect_uassoc()
// Function in PHP
 
 
function uassoc_intersectFunction($arr1, $arr2)
{
    if ($arr1 === $arr2) {
        return 0;
    }
    return ($arr1 > $arr2) ? 1 : -1;
}
 
// Code driven
$arr1 = array(
    "0" => "Graph",
    "1" => "Dynamic",
    "3" => "Recursive",
    "4" => "Prime Factor"
);
$arr2 = array(
    "4" => "Prime",
    "2" => "Factorial",
    "3" => "Recursive",
    "7" => "Modulo"
);
 
$result = array_intersect_uassoc($arr1,
        $arr2, "uassoc_intersectFunction");
print_r($result);
 
?>

Producción: 
 

Array
(
    [3] => Recursive
)

Programa: 3 Tomando tres arreglos (arr1, arr2 y arr3) y usando la función de comparación de claves definida por el usuario (uassoc_intersectFunction). La función definida por el usuario coincide, ya que son claves con los mismos valores pero no se encontró ningún caso de este tipo, luego devolverá NULL/Empty Array (En el programa 1 usamos la función strcasecmp, esta función se aplicó en las teclas e ignora la sensibilidad de mayúsculas y minúsculas y devuelve el resultado GeeksforGeeks).
 

PHP

<?php
 
// illustrate array_intersect_uassoc()
// Function in PHP
 
 
function uassoc_intersectFunction($arr1, $arr2)
{
    if ($arr1 === $arr2) {
        return 0;
    }
    return ($arr1 > $arr2) ? 1 : -1;
}
 
// Code driven
$arr1 = array(
    "a" => "gfg",
    "b" => "GeeksforGeeks",
    "c" => "contribute"
);
$arr2 = array(
    "a" => "gfg",
    "B" => "GeeksforGeeks",
    "c" => "ide"
);
$arr3 = array(
    "a" => "Gfg",
    "B" => "GeeksforGeeks",
    "c" => "practice"
);
 
// userdefine function match as it is keys
// with same values but no any such
// case so it will return NULL
$result = array_intersect_uassoc(
$arr1, $arr2, $arr3, "uassoc_intersectFunction");
print_r($result);
 
?>

Producción: 
 

Array
(
)

A continuación se muestran algunas funciones PHP de intersección de arrays relacionadas 
 

  • PHP | Función array_intersect(): La función devuelve otra array que contiene los elementos de la primera array que están presentes en todas las demás arrays pasadas como parámetro. Si ningún elemento coincide, se devuelve una array NULL.
  • PHP | función array_intersect_assoc(): la función devuelve todos los valores de la primera array que están presentes en todos los demás argumentos en el mismo índice que en la primera array, es decir, las claves se utilizan principalmente en la comparación.
  • PHP | Función array_uintersect_assoc(): compara las claves de una array y una función definida por el usuario para comparar los valores.
  • PHP | Función array_intersect_key(): La función devuelve otra array que contiene los elementos de la primera array que están presentes en otras arrays pasadas como parámetro cuya clave coincide entre sí. Si ninguna clave coincide, se devuelve una array NULL.

php

<?php
 
// Program to illustrate==>
// array_intersect() function
// array_intersect_assoc() function
// array_uintersect_assoc() function
// array_intersect_key() function
 
$arr1 = array(
    "a" => "gfg",
    "b" => "GeeksforGeeks",
    "c" => "contribute"
);
$arr2 = array(
    "a" => "gfg",
    "B" => "GeeksforGeeks",
    "c" => "ide"
);
$arr3 = array(
    "a" => "Gfg",
    "B" => "GeeksforGeeks",
    "c" => "practice"
);
 
// The array_intersect() function compares
// the values (not keys) of two (or more)
// arrays, and returns the matches.
echo "**********array_intersect********** \n ";
$result = array_intersect($arr1, $arr2, $arr3);
print_r($result);
 
 
// array_intersect_assoc() returns an array
// containing all the values of arr1 that
// are present in all the arguments.
// for above input it will return null
echo "******array_intersect_assoc******** \n ";
$result = array_intersect_assoc($arr1, $arr2, $arr3);
print_r($result);
 
// array_uintersect_assoc compare values (data)
// by using call back function
echo "*********array_uintersect_assoc********** \n ";
$result = array_uintersect_assoc($arr1,
                    $arr2, $arr3, "strcasecmp");
print_r($result);
 
// Compare the keys and values by using
// a user-defined key comparison function
// here callback function applicable on keys
echo "*********array_uintersect_assoc *********\n ";
$result = array_intersect_uassoc($arr1,
                    $arr2, $arr3, "strcasecmp");
print_r($result);
 
// compute the intersection of two or more arrays.
// function returns another array containing
// the elements of the first array that
// are present in other arrays
echo "*********array_intersect_key *********\n ";
$result = array_intersect_key($arr1,
                    $arr2, $arr3);
print_r($result);
 
 
?>

Producción: 
 

**********array_intersect********** 
 Array
(
    [b] => GeeksforGeeks
)
******array_intersect_assoc******** 
 Array
(
)
*********array_uintersect_assoc********** 
 Array
(
    [a] => gfg
)
*********array_uintersect_assoc *********
 Array
(
    [b] => GeeksforGeeks
)
*********array_intersect_key *********
 Array
(
    [a] => gfg
     => contribute
)

Publicación traducida automáticamente

Artículo escrito por jit_t y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *