Descripción
array
array_diff_uassoc ( array matriz1, array matriz2 [, array ..., callback func_comparacion_claves] )
array_diff_uassoc() devuelve un
array que contiene todos los valores de
matriz1 que no están presentes en
ninguno de los otros argumentos. Note que las claves son usadas
en la comparación, a diferencia de
array_diff().
Esta comparación es realizada por una llamada de retorno
entregada por el usuario. La función debe devolver un
entero menor que, igual, o mayor que cero si el primer argumento
es considerado como menor, igual, o mayor que el segundo,
respectivamente. Esto en contraste a
array_diff_assoc() en donde es usada una
función interna para la comparación de
Ãndices.
Ejemplo 1. Ejemplo de array_diff_uassoc()
<?php function func_comparacion_claves($a, $b) { if ($a === $b) { return 0; } return ($a > $b)? 1:-1; }
$matriz1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); $matriz2 = array("a" => "green", "yellow", "red"); $resultado = array_diff_uassoc($matriz1, $matriz2, "func_comparacion_claves"); print_r($resultado); ?>
|
El resultado del ejemplo seria: Array
(
[b] => brown
[c] => blue
[0] => red
) |
|
En nuestro ejemplo anterior, puede ver que la pareja "a"
=> "green" está presente en ambas matrices y
por lo tanto no hace parte de la salida de la función. En
contraste, la pareja 0 => "red" está
en la salida ya que en el segundo argumento,
"red" tiene una clave que es
1.
La igualdad de 2 Ãndices es revisada por la llamada de
retorno indicada por el usuario.
Nota:
Por favor note que esta función sólo analiza una
dimensión de una matriz n-dimensional. Por supuesto que
puede analizar dimensiones más profundas usando, por
ejemplo, array_diff_uassoc($matriz1[0], $matriz2[0],
"func_comparacion_claves");.
Vea también array_diff(),
array_diff_assoc(),
array_udiff(),
array_udiff_assoc(),
array_udiff_uassoc(),
array_intersect(),
array_intersect_assoc(),
array_uintersect(),
array_uintersect_assoc() y
array_uintersect_uassoc().