(PHP 5 >= 5.1.0)
array_diff_ukey — Oblicza różnicę tablic używając funkcji zwrotnej do porównywania kluczy
$tablica1
, array $tablica2
[, array $ ...
], callback $funk_porównania_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.
Przykład #1 Przykład użycia funkcji array_diff_ukey()
<?php
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) }
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');.
Patrz także: 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() i array_intersect_ukey().