array_udiff() es una función incorporada en PHP y se utiliza para distinguir entre dos o más arrays. La función compara los diferentes valores de dos o más arrays mediante el uso de la función de comparación de datos definida por el usuario y devuelve las diferencias. En realidad, la función devuelve todas las entradas que están presentes en la primera array que no está presente en otras arrays. Si todos los valores de todos los arreglos son iguales, devuelva el arreglo NULL. Es diferente a la comparación de arr_diff()
Sintaxis:
array_udiff($array1, $array2, $array3……….array nth, arr_udiffFunction)
Parámetros utilizados: Los parámetros de esta función array_udiff() se describen a continuación:
- array1 :
Es el array inicial y se compara con otro array…
Es Obligatorio. - array2:
La array comparada con la primera clave de array.
Es obligatorio. - array3… :
La segunda array en comparación con la primera clave de array.
Es opcional. - arr_udiffFunction: su función definida por el usuario requerida y una string que define la función de devolución de llamada definida por el usuario y devuelve un número entero <, = o > que 0 si el primer argumento es <, = o > que el segundo argumento.
Valor de retorno :
devuelve valores de tipos de array que contienen la primera array que está presente en todas las demás arrays. Si hay todos iguales, la array devuelve una array NULL.
Nota: Esta función integrada (array_udiff()) para comparar las claves de una array y la función definida por el usuario para comparar los valores.
Ejemplo 1 :
Input : $arr1=array("a"=>"Geeksforgeeks", "b"=>"IDE", "d"=>"environment", "v"=>"Code Run"); $arr2=array("a"=>"Geeksforgeeks", "b"=>"Editor", "f"=>"Write", "h"=>"Code", ); Output: Array ( [b] => IDE [d] => environment [v] => Code Run ) Explanation: arr1 contains only three values(IDE, environment, Code Run) which is not present in arr2.
Ejemplo 2:
Input: $arr1 = array("a"=>"Geeks", "x"=>"article", "n"=>"Geeks"); $arr2 = array("x"=>"Geeks", "y"=>"for", "z"=>"Geeks", "a"=>"IDE", "a"=>"Editor", ); Output: Array ( [x] => article ) Explanation: arr1 contains only one value (article) which is not present in arr2.
Tomemos un ejemplo simple para entender la función array_udiff().
Programa 1: tome dos arreglos (arreglo1 y arreglo2) y utilice la función de comparación de claves definida por el usuario (arr_udiffFunction).
<?php //PHP code for array_udiff function function arr_udiffFunction($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; } //array list for comparison. $arr1 = array( "a" => "C", "b" => "C++", "d" => "Java", "r" => "XML" ); $arr2 = array( "a" => "C", "y" => "C++", "d" => "C#", "x" => "PHP" ); $result = array_udiff($arr1, $arr2, "arr_udiffFunction"); //print result. print_r($result); ?>
Array ( [d] => Java [r] => XML )
Programa: 2 Tome cuatro arreglos (arreglo1, arreglo2, arreglo3 y arreglo4) y utilice la función de comparación de claves definida por el usuario array_udiff().
<?php //PHP code for array_udiff function function arr_udiffFunction($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; } //array list for comparison. $arr1 = array( "a" => "C lab", "b" => "C++ lab", "d" => "Java lab", "r" => "ASP lab" ); $arr2 = array( "a" => "C lab", "y" => "C++ lab", "d" => "Java lab", "r" => "XML lab" ); $arr3 = array( "a" => "C# lab", "n" => "Android lab", "d" => "Python lab", "r" => "XML lab" ); $arr4 = array( "a" => "Objective C lab", "y" => "C++ lab", "d" => "Java lab", "r" => "Perl lab" ); $result = array_udiff($arr1, $arr2, $arr3, "arr_udiffFunction"); //print result. print_r($result); ?>
Array ( [r] => ASP lab )
Programa: 3 Tome dos arreglos (arreglo1 y arreglo2) y utilice la función de comparación de claves definida por el usuario (array_udiff(). que tiene coincidencias con todos los elementos y valores del arreglo, que es NULL).
<?php //PHP code for array_udiff function function arr_udiffFunction($a, $b) { if ($a === $b) { return 0; } return ($a > $b) ? 1 : -1; } //array list for comparison. $arr1 = array( "a" => "C", "b" => "C++", "d" => "Java", "r" => "XML" ); $arr2 = array( "a" => "C", "y" => "C++", "d" => "Java", "r" => "XML" ); $result = array_udiff($arr1, $arr2, "arr_udiffFunction"); //print result. print_r($result); ?>
Array ( )