La función array_udiff_uassoc() es una función incorporada en PHP y se utiliza para distinguir entre dos o más arrays. La función calcula la array de diferencias mediante el uso de dos funciones definidas por el usuario con la clave de índice adicional. Compara tanto los datos como el índice mediante el uso de funciones de devolución de llamada y devuelve la diferencia.
Sintaxis:
array_udiff_uassoc($arr1, $arr2, $arr3........nth array, value_Function, key_Function )
Parámetros utilizados: Los parámetros de esta función array_udiff_uassoc() se describen a continuación:
- $arr1, $arr2, $arr3, $arr4,…., $arrn : Esto representa la lista de arrays que queremos distinguir.
- value_Function: este parámetro representa la función definida por el usuario. Esta función definida por el usuario se utilizará para comparar valores.
- key_Function: También es una función definida por el usuario. Esta función definida por el usuario se utiliza para comparar arrays de claves.
Nota: Ambas funciones de comparación (value_Function, key_Function) devuelven un número entero <, = o > que 0 si el primer argumento es <, = o > que el segundo argumento.
Valor de retorno : esta función devuelve una array que contiene todos los valores de la array $arr1 que no están presentes en ninguna otra array.
Algunas funciones relacionadas:
- PHP | Función arr_diff(): calcula las diferencias de una array.
- PHP | Función arr_udiff(): Calcule las diferencias de una array mediante la función de devolución de llamada definida por el usuario utilizada y compare los datos.
- PHP | Función array_diff_assoc(): calcula las diferencias de una array con una clave de índice adicional.
- PHP | Función array_diff_uassoc(): Esta función compara tanto las claves como los valores entre una o más arrays y devuelve los elementos de la primera array que no están en el resto de las arrays.
- PHP | Función array_diff_key(): Compara la clave de la primera array de parámetros con el resto de las arrays y devuelve una array que contiene todas las entradas de $array1 que no están presentes en ninguna de las otras arrays.
Los siguientes programas ilustran la función array_udiff_uassoc().
Programa 1:
PHP
<?php // PHP program to illustrate // array_udiff_uassoc() function // comparison function for array values function value_Function($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; } // comparison function for array keys function key_Function($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; } // array1 list for comparison. $arr1 = array( "m" => "C lab", "n" => "Java lab", "o" => "C# lab", "x" => "C++ lab", "y" => "Ruby lab", ); //array2 list for comparison. $arr2 = array( "m" => "C lab", "b" => "Java lab", "c" => "C# lab", "x" => "C++ lab", "n" => "Ruby lab", ); $result = array_udiff_uassoc($arr1, $arr2, "value_Function", "key_Function"); // print result. print_r($result); ?>
Array ( [n] => Java lab [o] => C# lab [y] => Ruby lab )
Programa: 2
PHP
<?php // PHP program to illustrate // array_udiff_uassoc() function // comparison function for array values function value_Function($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; } // comparison function for array keys function key_Function($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; } // array1 list for comparison. $arr1 = array( "a" => "C lab", "b" => "Java lab", "c" => "C# lab", "d" => "C++ lab", "e" => "Ruby lab", ); // array2 list for comparison. $arr2 = array( "a" => "C lab", "b" => "Java lab", "c" => "C# lab", "d" => "C++ lab", "e" => "XML lab", ); $arr3 = array( "a" => "C lab", "b" => "Java lab", "c" => "C# lab", "d" => "C++ lab", "e" => "CSS lab" ); $arr4 = array( "a" => "C lab", "b" => "Java lab", "c" => "C# lab", "d" => "C++ lab", "e" => "PHP lab" ); $result = array_udiff_uassoc($arr1, $arr2, $arr3, $arr4, "value_Function", "key_Function"); // print result. print_r($result); ?>
Array ( [e] => Ruby lab )
Programa: 3
PHP
<?php // PHP program to illustrate // array_udiff_uassoc() function // comparison function for array values function value_Function($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; } // comparison function for array keys function key_Function($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; } // array1 list for comparison. $arr1 = array( "x" => "Geeks", "y" => "for", "z" => "Geeks", ); // array2 list for comparison. $arr2 = array( "x" => "Geeks", "y" => "for", "z" => "Geeks", ); $result = array_udiff_uassoc($arr1, $arr2, "value_Function", "key_Function"); // print result. print_r($result); ?>
Array ( )
Programa: 4 Tome tres arreglos (arreglo1 y arreglo2, arreglo3) y use la función de comparación array_udiff_uassoc() Función. Donde las tres arrays tienen el mismo índice pero los valores son diferentes, devuelve la primera array.
PHP
<?php // PHP program to illustrate // array_udiff_uassoc() function // comparison function for array values function value_Function($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; } // comparison function for array keys function key_Function($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; } // array1 list for comparison. $arr1 = array( "a" => "C lab", "b" => "Java lab", "d" => "C# lab", ); // array2 list for comparison. $arr2 = array( "a" => "C ", "b" => "Java ", "d" => "C#", ); // array3 list for comparison. $arr3 = array( "a" => "Program", "b" => "Code", "d" => "Run", ); $result = array_udiff_uassoc($arr1, $arr2, $arr3, "value_Function", "key_Function"); // print result. print_r($result); ?>
Array ( [a] => C lab [b] => Java lab [d] => C# lab )
Referencia : http://php.net/manual/en/function.array-udiff-uassoc.php