array_udiff_assoc
Calcule la différence entre des tableaux avec vérification des index,
compare les données avec une fonction de rappel
&reftitle.description;
arrayarray_udiff_assoc
arrayarray1
arrayarray2
array ...
callbackdata_compare_func
Calcule la différence entre des tableaux avec vérification des index,
compare les données avec une fonction de rappel.
Notez que cette fonction ne vérifie qu'une seule dimension d'un tableau
multidimensionnel. Vous pouvez, bien sûr, tester une dimension
particulière en utilisant par exemple,
array_udiff_assoc($array1[1], $array2[1], "compare_func");.
&reftitle.parameters;
array1
Le premier tableau.
array2
Le second tableau.
data_compare_func
La fonction de comparaison.
La fonction utilisateur de rappel est utilisé pour la comparaison.
Elle doit retourner un &integer; inférieur à, égal à, ou plus grand que
&zero; si le premier argument est considéré comme étant, respectivement,
inférieur à, égal à, ou plus grand que le second.
&reftitle.returnvalues;
array_udiff_assoc retourne un tableau contenant
toutes les valeurs de array1 qui ne sont présentes
dans aucun autre des arguments array2, ....
Notez que les clés sont utilisées dans les comparaisons contrairement à
array_diff et array_udiff.
La comparaison des données est effectuée en utilisant une fonction
de rappel fournie par l'utilisateur, data_compare_func.
Ce comportement est différent de celui de array_diff_assoc
qui utilise une fonction de comparaison interne.
&reftitle.examples;
Exemple avec array_udiff_assoc
priv_member = $val;
}
static function comp_func_cr($a, $b)
{
if ($a->priv_member === $b->priv_member) return 0;
return ($a->priv_member > $b->priv_member)? 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),);
$result = array_udiff_assoc($a, $b, array("cr", "comp_func_cr"));
print_r($result);
?>
]]>
&example.outputs;
cr Object
(
[priv_member:private] => 9
)
[0.5] => cr Object
(
[priv_member:private] => 12
)
[0] => cr Object
(
[priv_member:private] => 23
)
)
]]>
Dans notre exemple, vous voyez que la paire "1" => new cr(4)
est présente dans les deux tableaux et donc absente du tableau résultant.
&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