La función array_uintersect_assoc() es una función incorporada en PHP que se usa para calcular la intersección de la array de claves para diferentes valores de dos o más arrays. La array inicial o la primera array se compara con todas las demás arrays mediante la función de devolución de llamada o la función definida por el usuario y devuelve las coincidencias. Las claves se utilizan en la comparación a diferencia de la función array_uintersect() .
Sintaxis:
array array_uintersect_assoc( $array1, $array2, $array3... array nth, arr_uintersect_Function)
Parámetros: esta función acepta muchos parámetros, como se mencionó anteriormente y se describe a continuación:
- $array1: Es la array inicial para comparar con otra array. Es un parámetro obligatorio.
- $array2: es la segunda array comparada con la primera clave de array. También es un parámetro obligatorio.
- $array3…: Las arrays comparadas con la primera clave de array. Es un parámetro opcional.
- arr_uintersect_Function: es un parámetro obligatorio y se utiliza para contener la función definida por el usuario. Es una string que define la función de devolución de llamada definida por el usuario y devuelve un número entero menor, igual o mayor que cero si el primer argumento es menor, igual o mayor que el segundo argumento.
Valor de retorno: devuelve un valor de tipo de array que contiene la primera array que está presente en todas las demás arrays. Si no hay coincidencias, devuelve NULL.
Nota: La función array_uintersect_assoc() compara las claves de una array y la función definida por el usuario compara los valores.
Ejemplos:
Input : $arr1 = array( "a"=>"Website", "b"=>"frontend", "c"=>"programmer" ); $arr2 = array( "a"=>"Website", "b"=>"backend ", "c"=>"programmer" ); $arr3 = array( "a"=>"Website", "b"=>"fullstack ", "c"=>"programmer" ); $arr4 = array( "a"=>"Website", "b"=>"maintenance ", "c"=>"Team" ); Output : Array ( [a] => Website ) Explanation: Only one element (website) is common in all arrays. Input : $arr1 = array( "a"=>"Software", "b"=>"Testing", "c"=>"Tool" ); $arr2 = array( "a"=>"Software", "b"=>"Testing ", "c"=>"Team" ); Output : Array ( [a] => Software [b] => Testing ) Explanation: Two values are common in both array = Software, and Testing.
Los siguientes programas ilustran la función array_uintersect_assoc() en PHP:
Programa 1: este programa utiliza dos arrays (array1 y array2) y una función de comparación de claves definida por el usuario (arr_uintersect_Function).
PHP
<?php // PHP program for array_uintersect_assoc() function function arr_uintersect_Function($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; } // Two array list with index and values $arr1 = array ( "a" => "Java", "b" => "Program", "c" => "Practice", "d" => "in", "f" => "Geeksforgeeks" ); $arr2 = array ( "a" => "Java", "b" => "Code ", "c" => "write", "d" => "in", "f" => "GeeksforgeeksIDE" ); $result = array_uintersect_assoc($arr1, $arr2, "arr_uintersect_Function"); // Display result print_r($result); ?>
Array ( [a] => Java [d] => in )
Programa 2: este programa utiliza dos arrays (array1 y array2) y una función de comparación de claves definida por el usuario (arr_uintersect_Function). Si las arrays no coinciden con ninguna clave y valor, devuelve NULL.
PHP
<?php // PHP program for array_uintersect_assoc() function // User-defined function function arr_uintersect_Function($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; } // Two array list with index and values $arr1 = array ( "a" => "my", "b" => "best", "c" => "programming", "d" => "blog", "e" => "Geeksforgeeks" ); $arr2 = array ( "f" => "My", "g" => "first ", "h" => "program", "i" => "Geeks Hello" ); $arr3 = array ( "j" => "Analysis", "k" => "Algorithm ", "l" => "and", "m" => "Practice" ); $result = array_uintersect_assoc( $arr1, $arr2, $arr3, "arr_uintersect_Function" ); // Display result print_r($result); ?>
Array ( )
Programa 3: Este programa devuelve todos los valores de $arr1 que están presentes en todos los argumentos.
PHP
<?php $arr1 = array ( "a" => "gfg", "b" => "ide", "c" => "runcode" ); $arr2 = array ( "a" => "GFG", "B" => "practice" ); $arr3 = array ( "a" => "Gfg", "B" => "contribute" ); print_r( array_uintersect_assoc($arr1, $arr2, $arr3, "strcasecmp") ); ?>
Array ( [a] => gfg )
Referencia: https://www.php.net/manual/en/function.array-uintersect-assoc.php