array_diff_uassoc
(PHP 5)
array_diff_uassoc — Calcula la diferencia entre arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada suministrada por el usuario
Descripción
$array1
, array $array2
[, array $...
], callable $key_compare_func
)
Compara array1 contra array2 y
retorna la diferencia. A diferencia de array_diff() la keys del
array se utilizan en la comparación.
A diferencia de array_diff_assoc() una función de devolución de llamada suministrada por el usuario se utiliza para la comparación de los índices, no una función interna.
Parámetros
-
array1 -
Array a comparar
-
array2 -
Un array contra el cual comparar
-
... -
Más arrays contra los cuales comparar
-
key_compare_func -
La función de comparación debe devolver un entero menor, igual o mayor que cero si el primer argumento se considera que sea respectivamente menor, igual o mayor que el segundo.
Valores devueltos
Retorna un array conteniendo todas las entradas del
array1 que no están presentes en ninguno de los otros arrays.
Ejemplos
Ejemplo #1 Ejemplo de array_diff_uassoc()
El par "a" => "green" está presente en ambos arrays y por lo tanto no está en la salida de la función. A diferencia de ésto, el par 0 => "red" está en la salida ya que en el segundo argumento "red" tiene una key que es 1.
<?php
function key_compare_func($a, $b)
{
if ($a === $b) {
return 0;
}
return ($a > $b)? 1:-1;
}
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_uassoc($array1, $array2, "key_compare_func");
print_r($result);
?>
El resultado del ejemplo sería:
Array
(
[b] => brown
[c] => blue
[0] => red
)
La igualdad de 2 índices es chequeada por la función de devolución de llamada suministrada por el usuario.
Notas
Nota:
Esta función sólo comprueba una dimensión de un array n-dimensional. Por supuesto, se pueden comprobar dimensiones más profundas mediante, por ejemplo, array_diff_uassoc($array1[0], $array2[0], "key_compare_func");.
Ver también
- array_diff() - Calcula la diferencia entre arrays
- array_diff_assoc() - Calcula la diferencia entre arrays con un chequeo adicional de índices
- array_udiff() - Computa la diferencia entre arrays, usando una llamada de retorno para la comparación de datos
- array_udiff_assoc() - Computa la diferencia entre arrays con una comprobación de indices adicional, compara la información mediante una función de llamada de retorno
- array_udiff_uassoc() - Computa la diferencia entre arrays con una verificación de índices adicional, compara la información y los índices mediante una función de llamada de retorno
- array_intersect() - Calcula la intersección de arrays
- array_intersect_assoc() - Calcula la intersección de arrays con un chequeo adicional de índices
- array_uintersect() - Computa una intersección de arrays, compara la información mediante una función de llamada de retorno
- array_uintersect_assoc() - Calcula la intersección de arrays con una comprobación de índices adicional, compara la información mediante una función de retrollamada
- array_uintersect_uassoc() - Calcula la intersección de arrays con una comprobación de índices adicional, compara la información y los índices mediante funciones de retrollamada