Forum und email

array_diff_ukey

(PHP 5 >= 5.1.0)

array_diff_ukey — Finder frem til forskellen på arrays ved brug af en callback funktion til sammenligningen af nøglerne

Beskrivelse

array array_diff_ukey ( array $array1 , array $array2 [, array $ ... ], callback $key_compare_func )

array_diff_ukey() returner et array, som indeholder alle værdier fra array1 som har nøgler der ikke findes i nogen af de andre givende arrays. Værdierne og nøglerne vil blive overført direkte. Denne funktion er lige som array_diff() bortset fra at sammenligningen sker ved tjek på nøglerne i stedet for værdierne.

Denne sammenligning bliver gjort ved hjælp af en callback funktion. Denne funktion skal returnerer et tal mindre end, det samme som eller større end nul hvis den første nøgle skal bestemmes til at være enten mindre end, det samme som eller større end den andet nøgle.

Example#1 array_diff_ukey() eksempel

<?php
function key_compare_func($key1$key2)
{
    if (
$key1 == $key2)
        return 
0;
    else if (
$key1 $key2)
        return 
1;
    else
        return -
1;
}

$array1 = array('blue'  => 1'red'  => 2'green'  => 3'purple' => 4);
$array2 = array('green' => 5'blue' => 6'yellow' => 7'cyan'   => 8);

var_dump(array_diff_ukey($array1$array2'key_compare_func'));
?>

Ovenstående eksempel vil udskrive:

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

Note: Denne funktion tjekker kun en dimension af et multidimensioneret array. Du kan selvfølgelig tjekke dybere i arrayet, f.eks. på denne måde: array_diff_ukey($array1[0], $array2[0], 'callback_func');.

Se også array_diff(), array_udiff() array_diff_assoc(), array_diff_uassoc(), array_udiff_assoc(), array_udiff_uassoc(), array_diff_key(), array_intersect(), array_intersect_assoc(), array_intersect_uassoc(), array_intersect_key() og array_intersect_ukey().