array_udiff_assoc
(PHP 5)
array_udiff_assoc - Calculate the difference in arrays with additional index checking, using the callback function to compare valuesDescription
array array_udiff_assoc (array array1, array array2 [, array ..., callback data_compare_func])
array_udiff_assoc () returns an array containing all the values of array1 that are not present in subsequent arguments. Note that keys are used for comparison, in contrast to the functions array_diff () and array_udiff () . To compare array values, a user-defined callback function is used. In this sense, the behavior of array_udiff_assoc () differs from the behavior of array_diff_assoc () , which uses the built-in function to compare values.
Example 1. Example using array_udiff_assoc ()
class cr {
private $priv_member;
function cr($val)
{
$this->priv_member = $val;
}
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);
The result of this example:
Array ( [0.1] => cr Object ([priv_member: private] => 9) [0.5] => cr Object ([priv_member: private] => 12) [0] => cr Object ([priv_member: private] => 23))
0 comments:
Post a Comment