array_diff_assoc
Oblicza różnicę między tablicami z dodatkowym sprawdzaniem kluczy
&reftitle.description;
arrayarray_diff_assoc
arrayarray
arrayarrays
Porównuje tablicę array z tablicami arrays i
zwraca różnicę. W przeciwieństwie do funkcji array_diff, porównywane
są także klucze tablic.
&reftitle.parameters;
array
Tablica do porównania
arrays
Tablice do porównania
&reftitle.returnvalues;
Zwraca tablicę zawierającą wszystkie wartości z tablicy
array które nie są obecne w żadnej z pozostałych tablic.
&reftitle.changelog;
&Version;
&Description;
&array.changelog.require-only-one;
&reftitle.examples;
Przykład użycia array_diff_assoc
W tym przykładzie para "a" => "green"
jest obecna w obu tablicach i dlatego nie jest wyświetlana przez funkcję
W odróżnieniu od 0 => "red", które jest wyświetlane,
ponieważ klucz "red" jest
automatycznie przypisywany do 0 w pierwszej tablicy,
podczas gdy jest on przypisany do 1 w drugiej tablicy,
ponieważ klucz 0 jest już zajęty przez yellow.
"green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_assoc($array1, $array2);
print_r($tablica);
?>
]]>
&example.outputs;
brown
[c] => blue
[0] => red
)
]]>
Przykład użycia array_diff_assoc
Wartości z par klucz => wartość są uznawane za
jednakowe, tylko gdy (string) $elem1 === (string)
$elem2 . Innymi słowy, stosowane jest ścisłe porównanie, a więc
reprezentacja w postaci ciągu znaków musi być jednakowa.
]]>
&example.outputs;
0
[1] => 1
)
]]>
&reftitle.notes;
Ta funkcja sprawdza tylko pierwszy wymiar tablicy wielowymiarowej.
Możliwe jest sprawdzenie głębszych wymiarów za pomocą na przykład,
array_diff_assoc($array1[0], $array2[0]);.
Upewnij się, że argumenty są przekazywane we właściwej kolejności podczas porównywania
podobnych tablic z większą liczbą kluczy. Nowa tablica powinna być przekazana pierwsza.
&reftitle.seealso;
array_diff
array_diff_uassoc
array_udiff_assoc
array_udiff_uassoc
array_intersect
array_intersect_assoc