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);
?>
]]>
El resultado es:
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.