array_udiff

array_udiff

(PHP 5)

array_udiff -- Computa la diferencia entre matrices, usando una llamada de retorno para la comparaci贸n de datos

Descripci贸n

array array_udiff ( array matriz1, array matriz2 [, array ..., callback func_comparacion_datos] )

array_udiff() devuelve una matriz que contiene todos los valores de matriz1 que no est谩n presentes en ninguno de los otros argumentos. Note que las claves son preservadas. Para la comparaci贸n de datos, se usa func_comparacion_datos. Esta 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(), la cual usa una funci贸n interna para la comparaci贸n de datos.

Ejemplo 1. Ejemplo de array_udiff()

<?php
class cr {
    
private $miembro_privado;
    function
cr($val)
    {
        
$this->miembro_privado = $val;
    }

    function
func_comp_cr($a, $b)
    {
        if (
$a->miembro_privado === $b->miembro_privado) return 0;
        return (
$a->miembro_privado > $b->miembro_privado)? 1:-1;
    }
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$resultado = array_udiff($a, $b, array("cr", "func_comp_cr"));
print_r($resultado);
?>

El resultado del ejemplo seria:

Array
(
    [0.5] => cr Object
        (
            [miembro_privado:private] => 12
        )

    [0] => cr Object
        (
            [miembro_privado:private] => 23
        )

)

Nota: Por favor note que esta funci贸n s贸lo analiza una dimensi贸n de una matriz n-dimensional. Por supuesto, puede analizar dimensiones m谩s profundas usando array_udiff($matriz1[0], $matriz2[0], "data_compare_func");.

Vea tambi茅n array_diff(), array_diff_assoc(), array_diff_uassoc(), array_udiff_assoc(), array_udiff_uassoc(), array_intersect(), array_intersect_assoc(), array_uintersect(), array_uintersect_assoc() y array_uintersect_uassoc().