PHP | función array_udiff_uassoc()

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:

  1. $arr1, $arr2, $arr3, $arr4,…., $arrn : Esto representa la lista de arrays que queremos distinguir.
  2. 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.
  3. 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);
?>
Producción: 

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);
?>
Producción: 

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);
?>
Producción: 

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);
?>
Producción: 

Array
(
    [a] => C lab
    [b] => Java lab
    [d] => C# lab
)

 

Referencia : http://php.net/manual/en/function.array-udiff-uassoc.php
 

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 *