array_diff_uassoc ( $tablica1, $tablica2 [, array $... ]);
Oblicza różnicę tablic z dodatkowym indeksem, zwraca tablicę zawierającą wszystkie wartości z tablica1 które nie są obecne w żadnym z pozostałych argumentów. Do porównania, w przeciwieństwie do funkcji array_diff(), używane sa klucze tablic.
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. Jest to zachowanie inne niż w funkcji array_diff_assoc(), gdzie do porównań kluczy używana jest wewnętrzna funkcja.
Kompatybilność: PHP5.
Listing
function funk_porownujaca($a, $b)
{
if ($a === $b) {
return 0;
}
return ($a > $b)? 1:-1;
}
$tablica1 = array("a" => "zielony", "b" => "brązowy", "c" => "niebieski", "czerwony");
$tablica2 = array("a" => "zielony", "żółty", "czerwony");
$wynik = array_diff_uassoc($tablica1, $tablica2, "funk_porownujaca");
print_r($wynik);
?>
//zwróci
Array
(
[b] => brązowy
[c] => niebieski
[0] => czerwony
)
Ranga: Administrator serwisu Punktów: 0