(PHP 4 >= 4.3.0, PHP 5)
array_diff_assoc — Oblicza różnicę między tablicami z dodatkowym sprawdzaniem kluczy
$tablica1
, array $tablica2
[, 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 #1 Przykład użycia array_diff_assoc()
<?php
$tablica1 = array("a" => "zielony", "b" => "brązowy", "c" => "niebieski", "czerwony");
$tablica2 = array("a" => "zielony", "żółty", "czerwony");
$wynik = array_diff_assoc($tablica1, $tablica2);
print_r($wynik);
?>
Powyższy przykład wyświetli:
Array ( [b] => 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.
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]);.
Patrz także: array_diff(), array_intersect() i array_intersect_assoc().