Oblicza różnicę tablic używając funkcji zwrotnej do porównywania kluczy.
array_diff_ukey() zwraca tablicę zawierającą wszystkie wartości z tablica1 których klucze nie są obecne w żadnym z innych argumentów. Asocjacje są zachowywane. Funkcja ta jest podobna do array_diff(), z tym że porównywane są klucze a nie wartości.
Porównanie jest dokonywane przy pomocy podanej funkcji zwrotnej. Musi ona zwracać liczbę całkowitą mniejszą, równą lub większą od zera jeśli pierwszy klucz jest uznawany za mniejszy, równy lub większy drugiego.
Informacja: Funkcja ta sprawdza tylko jeden wymiar n-wymiarowej tablicy. Można sprawdzać głębsze wymiary przez użycie, na przykład array_diff_assoc($tablica1[0], $tablica2[0], 'funkcja_zwrotna');.
Kompatybilność: PHP5.
Listing
function porownaj_klucze($klucz1, $klucz2)
{
if ($klucz1 == $klucz2)
return 0;
else if ($klucz1 > $klucz2)
return 1;
else
return -1;
}
$tablica1 = tablica('niebieski' => 1, 'czerwony' => 2, 'zielony' => 3, 'purpurowy' => 4);
$tablica2 = tablica('zielony' => 5, 'niebieski' => 6, 'żółty' => 7, 'cyan' => 8);
var_dump(array_diff_ukey($tablica1, $tablica2, 'porownaj_klucze'));
?>
Powyższy przykład wyświetli:
array(2) {
["czerwony"]=>
int(2)
["purpurowy"]=>
int(4)
}
Ranga: Administrator serwisu Punktów: 0