array_udiff
Computa la diferencia entre matrices, usando una
llamada de retorno para la comparación de
datos
Descripción
arrayarray_udiff
arraymatriz1
arraymatriz2
array ...
callbackfunc_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 de array_udiff
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);
?>
]]>
&example.outputs;
cr Object
(
[miembro_privado:private] => 12
)
[0] => cr Object
(
[miembro_privado:private] => 23
)
)
]]>
Dos elementos son considerados iguales si, y solo
si (string) $elem1 === (string) $elem2. Esto
es: cuando su representación tipo cadena es la misma.
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.