Forum und email

array_diff_ukey

(PHP 5 >= 5.1.0)

array_diff_ukey — Bereken het verschil tussen arrays gebruikmakend van een gebruikersfunctie voor de vergelijking van de keys

Beschrijving

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

array_diff_key() geeft een array terug die alle waarden van array1 bevat, waarvan de keys niet voorkomen in de andere argumenten. Merk op dat de associatie wordt behouden. Deze functie is vergelijkbaar met array_diff(), behalve dat de vergelijking wordt gedaan op basis van de keys en niet de waarden.

De vergelijking wordt gedaan via een gebruikersfunctie. Deze moet een integer teruggeven die kleiner dan, gelijk aan of groter dan 0 is, als de eerste key respectievelijk kleiner dan, gelijk aan of groter wordt beschouwd dan de tweede key.

Example#1 array_diff_ukey() voorbeeld

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

Het resultaat van dit script is als volgt:

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

Note: Let erop dat deze functie slechts een dimensie van een n-dimensionale array controleert. Het is uiteraard mogelijk om diepere dimensies te controleren, bijvoorbeeld via array_diff_ukey($array1[0], $array2[0], 'callback_func');.

Zie ook 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() en array_intersect_ukey().