参数 | 描述 |
---|---|
array1 | 必需。第一个数组。 |
array2 | 必需。第二个数组。 |
myfunction | 必需。字符串值,定义可调用的比较函数。 在第一个参数小于,等于或大于第二个参数时,该比较函数必须相应地返回一个小于,等于或大于 0 的整数。 |
<?phpclass cr {private $priv_member;function cr($val) {$this->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);?>运行结果:
Array([0.1] => cr Object([priv_member:private] => 9)[0.5] => cr Object([priv_member:private] => 12)[0] => cr Object([priv_member:private] => 23))上例中可以看到键值对 "1" => new cr(4) 同时出现在两个数组中因此不在本函数的输出中。