array_diff_uassoc
Computes the difference of arrays with additional index check
which is performed by a user supplied callback function
Opis
arrayarray_diff_uassoc
arraytablica1
arraytablica2
array...
callbackkey_compare_func
array_diff_uassoc 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.
Przykład użycia array_diff_uassoc
$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);
?>
]]>
&example.outputs;
brązowy
[c] => niebieski
[0] => czerwony
)
]]>
W powyższym przykładzie para "a" => "zielony" jest
obecna w obu tablicach, w związku z tym nie jest zwracana przez funkcję.
Z kolei para 0 => "czerwony" jest zawarta w wyniku
działania funkcji, ponieważ w drugim argumencie wartość
"czerwony" ma klucz 1.
Równość dwóch indeksów jest sprawdzana przez podaną przez użytkownika
funkcję.
Funkcja ta sprawdza tylko jeden wymiar n-wymiarowej tablicy. Można
sprawdzać głębsze wymiary przez użycie, na przykład
array_diff_uassoc($tablica1[0], $tablica2[0], 'funkcja_zwrotna');.
Patrz także:
array_diff,
array_diff_assoc,
array_udiff,
array_udiff_assoc,
array_udiff_uassoc,
array_intersect,
array_intersect_assoc,
array_uintersect,
array_uintersect_assoc i
array_uintersect_uassoc.