array_diff_assoc
Oblicza różnicę między tablicami z dodatkowym sprawdzaniem kluczy
Opis
arrayarray_diff_assoc
arraytablica1
arraytablica2
array ...
array_diff_assoc zwraca tablicę zawierającą
wszystkie wartości z array1, które nie są obecne w
żadnym z innych argumentów. Przy porównaniu, w przeciwieństwie do funkcji
array_diff, używane są także klucze.
Przykład użycia array_diff_assoc
"zielony", "b" => "brązowy", "c" => "niebieski", "czerwony");
$tablica2 = array("a" => "zielony", "żółty", "czerwony");
$wynik = array_diff_assoc($tablica1, $tablica2);
print_r($wynik);
?>
]]>
&example.outputs;
brązowy
[c] => niebieski
[0] => czerwony
)
]]>
W powyższym przykładzie para "a" => "zielony"
występuje w obu tablicach, i w związku z tym nie jest dodawana do wyniku
działania funkcji. Para 0 => "czerwony" znajduje się w
tablicy wynikowej, ponieważ w drugim argumencie "czerwony"
ma klucz 1.
Dwie wartości z par klucz => wartość są uznawane za
równe tylko jeśli (string) $element1 === (string) $element2
. Inaczej mówiąc, zachodzi ścisłe sprawdzanie, a więc
reprezentacje tekstowe muszą być takie same.
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]);.
Patrz także: array_diff,
array_intersect i
array_intersect_assoc.