Array Funciones
PHP Manual

array_udiff

(PHP 5)

array_udiffComputa la diferencia entre arrays, usando una llamada de retorno para la comparación de datos

Descripción

array array_udiff ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func )

Computa la diferencia de los arrays usando una función tipo llamada de retorno para la comparación de datos. Esto difiere de array_diff(), la cual usa una función interna para la comparación de datos.

Parámetros

array1

El primer array.

array2

El segundo array

data_compare_func

La función llamada de retorno para la comparación.

La llamada de retorno especificada por el usuario es usada para la comparación. 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.

Valores devueltos

Devuelve un array que contiene todos los valores de array1 que no están presentes en ninguno de los otros argumentos.

Ejemplos

Example #1 Ejemplo de array_udiff()

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

    static 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), => new cr(23), 1=> new cr(4), => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), => new cr(3), 1=> new cr(4), => new cr(-15),);

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

El resultado del ejemplo sería:

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

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

)

Notas

Note: Por favor note que esta función sólo analiza una dimensión de un array n-dimensional. Por supuesto, puede analizar dimensiones más profundas usando array_udiff($array1[0], $array2[0], "data_compare_func");.

Ver también


Array Funciones
PHP Manual