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
<?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; }
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),);
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.
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.
Nota:
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");.
Atención técnica y comercial: (54)-11-5031-1111 las 24 hs. los 365 días del año. ToWebs, (c) 2008
Virtucom Networks S.A Av. Belgrano 1586, piso 10 (C1093AAQ) Cap. Fed. Bs. As, Argentina.