array_udiff_assoc
Computa la diferencia entre arrays con una comprobación de indices adicional, compara la información mediante una función de llamada de retorno
&reftitle.description;
arrayarray_udiff_assoc
arrayarray1
arrayarray2
array...
callablevalue_compare_func
Computa la diferencia entre arrays con una comprobación de indices adicional, compara
la información mediante una función de llamada de retorno.
Por favor, observe que esta función sólo comprueba una dimensión de un array
n-dimensional. Por supuesto, se pueden comprobar dimensiones más profundas usando, por ejemplo,
array_udiff_assoc($array1[0], $array2[0], "alguna_func_comparacion");.
&reftitle.parameters;
array1
El primer array.
array2
El segundo array.
value_compare_func
&return.callbacksort;
&callback.cmp;
&reftitle.returnvalues;
array_udiff_assoc devuelve un array
que contiene todos los valores de array1
que no están presentes en ninguno de los demás argumentos.
Observe que las claves se usan en la comparación a diferencia de
array_diff y array_udiff.
La comparación de la información de los arrays' se lleva a cabo usando una llamada de retorno
proporcionada por el usuario. En este aspecto, el comportamiento es opuesto al de
array_diff_assoc, que usa una función interna para la
comparación.
&reftitle.examples;
Ejemplo de array_udiff_assoc
miembro_privado = $val;
}
static function comp_func_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_assoc($a, $b, array("cr", "comp_func_cr"));
print_r($resultado);
?>
]]>
&example.outputs;
cr Object
(
[miembro_privado:private] => 9
)
[0.5] => cr Object
(
[miembro_privado:private] => 12
)
[0] => cr Object
(
[miembro_privado:private] => 23
)
)
]]>
En el ejemplo de arriba se ve que el par "1" => new cr(4)
está presente en ambos arrays, y que, de esta manera, no está en la salida de la
función.
&reftitle.seealso;
array_diff
array_diff_assoc
array_diff_uassoc
array_udiff
array_udiff_uassoc
array_intersect
array_intersect_assoc
array_uintersect
array_uintersect_assoc
array_uintersect_uassoc