PHP | función array_udiff_assoc()

array_udiff_assoc() es una función incorporada en PHP y se utiliza para distinguir entre dos o más arrays. La función calcula las arrays de diferencia de dos o más arrays mediante el uso de una función definida por el usuario con clave adicional y devuelve las diferencias. Devuelve todas las entradas que están presentes en la primera array y que no están presentes en ninguna otra array. Es diferente de la función array_diff_assoc() ya que permite que una función definida por el usuario decida los criterios.

Sintaxis:

array_udiff_assoc($array1, $array2, $array3……….array nth, arr_udiffassocFun)

Parámetros utilizados: Los parámetros de esta función array_udiff_assoc() se describen a continuación:

  1. array1: es la array inicial y se compara con otra array. Es obligatorio.
  2. array2: La array comparada con la primera clave de array. Es obligatorio .
  3. array3: la segunda array en comparación con la primera clave de array. es opcional
  4. arr_udiffassocFun: se requiere una función definida por el usuario 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 devuelto: devuelve una array que contiene elementos de la primera array que no están presentes en todas las demás arrays. Si hay todos los elementos de la array presentes, la array devuelve NULL.
Nota: Esta función integrada array_udiff_assoc()) para comparar las claves de una array y la función definida por el usuario para comparar los valores. La función verifica solo una dimensión de una array de n dimensiones.

Ejemplo 1 :

Input :
 $arr1 = array(
    "a" => "Geeks",
    "b" => "for",
    "d" => "geeks"
);
$arr2 = array(
    "a" => "Geeks",
    "y" => "is",
    "d" => "geeks"
);
Output:
Array
(
    [b] => for
)
Explanation: arr1 contains only one 
values(for) which is not present in 
arr2.

Ejemplo 2:

Input:
$arr1 = array(
    "a" => "C",
    "b" => "C++",
    "d" => "Java",
    "x" => "XML",
    "y" => "C#"
);
$arr2 = array(
    "a" => "C",
    "b" => "C++",
    "d" => "PHP",
    "x" => "Advanced PHP",
    "n" => "XML"    
);
Output:
Array
(
    [d] => Java
    [x] => XML
    [y] => C#
)

Explanation: arr1  return three values
(article) which are not present in arr2.
But XML is present both arr1 and arr2 
but both have different key.

Tomemos un ejemplo simple para comprender la función array_udiff_assoc().

Programa 1: tome dos arreglos (arreglo1 y arreglo2) y use la función de comparación de claves definida por el usuario (arr_udiffassocFun).

<?php
<?php
// PHP code for array_udiff_assoc function.
  
// This function is used to decide which elements
// to pick array_udiff_assoc
function arr_udiffassocFun($x, $y)
{       
    return ($x === $y)? 0 : 1;
}
  
// array list for comparison.
$arr1 = array(
    "a" => "Raj",
    "b" => "Ram",
    "d" => "Denish",
    "r" => "David"
);
$arr2 = array(
    "a" => "Raj",
    "y" => "Ram",
    "d" => "Denish",
    "x" => "Ritche"
);
  
// Driver code
$result = array_udiff_assoc($arr1,
             $arr2, "arr_udiffassocFun");
print_r($result);
?>

Producción:

Array
(
    [b] => Ram
    [r] => David
)

Nota: [b] => Ram se imprime porque la clave es diferente. En array_diff_assoc() y array_udiff_assoc(), se comparan las claves y los valores. array_diff() compara solo valores.

Programa: 2 Toma cuatro arreglos (arreglo1, arreglo2, arreglo3 y arreglo4) y utiliza la función de comparación de claves definida por el usuario array_udiff_assoc().

<?php
// PHP code for array_udiff_assoc function
// This function is used to decide which elements
// to pick array_udiff_assoc
function arr_udiffassocFun($x, $y)
{       
    return ($x === $y)? 0 : 1;
}
  
// array list for comparison.
$arr1 = array(
    "a" => "Larry",
    "b" => "Page",
    "d" => "Denish",
    "r" => "Ritche"
);
$arr2 = array(
    "a" => "Larry",
    "y" => "Page",
    "d" => "Denish",
    "r" => "Ritche"
);
$arr3 = array(
    "a" => "larry",
    "y" => "Bill Gate",
    "d" => "Denish",
    "r" => "Willion"
);
$arr4 = array(
    "a" => "Raj",
    "y" => "Bill Gate",
    "d" => "Denish",
    "r" => "Woks"
);
$result = array_udiff_assoc($arr1,
   $arr2, $arr3, $arr4, "arr_udiffassocFun");
// print result.
print_r($result);
?>

Producción:

Array
(
    [b] => Page
)

Artículo relacionado:

  • 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.

Practique preguntas similares en: Referencias de PHP : http://php.net/manual/en/function.array-udiff-assoc.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 *