array_udiff_assoc
array_udiff
Array Functions
PHP Manual

# array_udiff_uassoc

(PHP 5)

array_udiff_uassoc — Computa la diferencia entre matrices con un chequeo de índices adicional, comparando los datos y los índices con una llamada de retorno

### Descripción

array array_udiff_uassoc ( array `$matriz1` , array `$matriz2` [, array `$ ...` ], callback `$func_comparacion_datos` , callback `$func_comparacion_claves` )

Computa la diferencia de matrices con un chequeo de índices adicional, comparando los datos por medio de una función llamada de retorno.

Note que las claves son usadas en la comparación, a diferencia de array_diff() y array_udiff().

### Lista de parámetros

`matriz1`

  La primera matriz.

`matriz2`

  La segunda matriz.

`func_comparacion_datos`

  La función de comparación usada como llamada de retorno.

  Para la comparación, se usa la llamada de retorno indicada por el usuario. Ésta 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.

  La comparación de los datos de las matrices es realizada usando una llamada de retorno entregada por el usuario: `func_comparacion_datos` . En este sentido, su comportamiento es el opuesto al de array_diff_assoc(), quien usa una función interna para la comparación. comparison.

`func_comparacion_claves`

  La comparación de claves (índices) es realizada también por la llamada de retorno `func_comparacion_claves` . Este comportamiento contrasta con lo que hace array_udiff_assoc(), ya que ésta compara los índices usando una función interna.

### Valores retornados

Devuelve un valor tipo array que contiene todos los valores de `matriz1` que no están presentes en ninguno de los otros argumentos.

### Ejemplos

Example #1 Ejemplo de array_udiff_uassoc()

`<?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;
}
static function func_comp_claves($a, $b)
{
if ($a === $b) return 0;
return ($a > $b)? 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_uassoc($a, $b, array("cr", "func_comp_cr"), array("cr", "func_comp_claves"));
print_r($resultado);
?>`

El resultado del ejemplo seria:

    Array
    (
        [0.1] => cr Object
            (
                [miembro_privado:private] => 9
            )

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

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

En nuestro ejemplo anterior, puede ver que la pareja "1" => new cr(4) está presente en ambas matrices, y por lo tanto no hace parte de la salida de la función. Tenga en cuenta que debe especificar 2 llamadas de retorno.

### Notes

> Note: Por favor note que esta función únicamente chequea una dimensión de una matriz n-dimensional. Por supuesto, puede chequear dimensiones más profundas usando, por ejemplo, array_udiff_uassoc($matriz1[0], $matriz2[0], "func_comparacion_datos", "func_comparacion_claves");.

### Ver también

- array_diff() - Comprueba las diferencias entre matrices
- array_diff_assoc() - Comprueba las diferencias entre matrices teniendo en cuenta los índices
- array_udiff() - Computa la diferencia entre matrices, usando una llamada de retorno para la comparación de datos
- array_udiff_assoc() - Computa la diferencia entre matrices con un chequeo de índices adicional, comparando los datos con una llamada de retorno
- array_intersect() - Calcula la intersección de matrices
- array_intersect_assoc() - Calcula la intersección de matrices verificando que también coincidan los índices
- array_uintersect() - Calcula la interseccón de matrices, compara los datos con una función del usuario
- array_uintersect_assoc() - Calcula la intersección de matrices con chequeo adicional de ídices, comparando los datos por una función del usuario
- array_uintersect_uassoc() - Calcula la intersección de matrices con chequeo adicional de índices, compara los datos y los índices por una función del usuario

array_udiff_assoc
array_udiff
Array Functions
PHP Manual