array_diff_uassoc

(PHP 5)

array_diff_uassoc --  Computa la diferencia entre matrices con un chequeo adicional de índices, el cual es realizado por una llamada de retorno entregada por el usuario

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().

Hosting by: hurra.com
Generated: 2007-01-26 18:00:38