P
PHP
Well-known member
- Beiträge
- 997
- Punkte Reaktionen
- 0
Ermittelt den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Datenvergleich
array_udiff() gibt ein Array mit allen Werten vonarray1, welche in keinem der anderen Argumenteenthalten sind, zurück. Beachten Sie, dass Schlüssel erhalten bleiben.Für den Vergleich der Daten wird data_compare_funcherangezogen. Diese muss einen Integer kleiner als, genau gleich odergrößer als Null zurückgeben, wenn das erste Argument entsprechend alskleiner, gleich oder größer als das Zweite betrachtet wird. Dies ist andersals array_diff(), in der eine eingebaute Funktionfür den Vergleich der Indizes verwendet wird.
Beispiel:
array_udiff() gibt ein Array mit allen Werten vonarray1, welche in keinem der anderen Argumenteenthalten sind, zurück. Beachten Sie, dass Schlüssel erhalten bleiben.Für den Vergleich der Daten wird data_compare_funcherangezogen. Diese muss einen Integer kleiner als, genau gleich odergrößer als Null zurückgeben, wenn das erste Argument entsprechend alskleiner, gleich oder größer als das Zweite betrachtet wird. Dies ist andersals array_diff(), in der eine eingebaute Funktionfür den Vergleich der Indizes verwendet wird.
Beispiel:
PHP:
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($a, $b, array("cr", "comp_func_cr"));
print_r($result);