PHP Manualen
forrige |  | næste

# array_udiff

(PHP 5)

array_udiff -- Sammensætter forskellen mellem arrays ved brug af en callback funktion ved værdierne.

## Beskrivelse

array array_udiff ( array array1, array array2 [, array ..., callback data_compare_func] )

array_udiff() returnerer et array som indeholder alle værdierne fra array1 som ikke er til stede i nogen af de andre argumenter. Nøglerne følger direkte med deres værdier. For sammenligningen af data bliver data_compare_func brugt. Den skal returnere et tal mindre, samme som, eller større end null, hvis det første argument skal bestemmes til at være enten mindre end, det samme som, eller større end det andet argument. Dette virker modsat array_diff() som bruger en intern php funktion til sammenligningen af værdierne.

Eksempel 1. array_udiff() eksempel

`<?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);
?>`

Ovenstående eksempel vil udskrive:

    Array
    (
        [0.5] => cr Object
            (
                [priv_member:private] => 12
            )

        [0] => cr Object
            (
                [priv_member:private] => 23
            )

    )

> Bemærk: Bemærk også at denne funktion kun tjekker en dimension af et fler-dimensioneret array. Man kan selvfølgelig tjekke dybere i dimensionerne ved at bruge array_udiff($array1[0], $array2[0], "data_compare_func");.

Se også array_diff(), array_diff_assoc(), array_diff_uassoc(), array_udiff_assoc(), array_udiff_uassoc(), array_intersect(), array_intersect_assoc(), array_uintersect(), array_uintersect_assoc() og array_uintersect_uassoc().

forrige | hjem | næste
array_udiff_uassoc | op | array_uintersect_assoc