array_diff_assoc
PHP -> Funkcie -> Array funkcie -> array_diff_assoc
Syntax
array array_diff_assoc ( array pole1, array pole2 [, array ...] )
Popis
Príkaz jazyka PHP
Vypočíta rozdiel polí s dodatočným overením indexov
array_diff_assoc vracia pole obsahujúce všetky hodnoty od pole1, ktoré sa nenachádzajú v žiadnom z ďalších argumentov. Všimnite si, že kľúče sa používajú v porovnávaní na rozdiel od array_diff.
Príklad
<?php
$pole1 = array ("a" => "zelena", "b" => "hneda", "c" => "modra", "cervena");
$pole2 = array ("a" => "zelena", "zlta", "cervena");
$vysledok = array_diff_assoc ($pole1, $pole2);
print_r($vysledok);
/* Výsledkom je:
Array
(
[b] => hneda
[c] => modra
[0] => cervena
)
*/
?>
$pole1 = array ("a" => "zelena", "b" => "hneda", "c" => "modra", "cervena");
$pole2 = array ("a" => "zelena", "zlta", "cervena");
$vysledok = array_diff_assoc ($pole1, $pole2);
print_r($vysledok);
/* Výsledkom je:
Array
(
[b] => hneda
[c] => modra
[0] => cervena
)
*/
?>
V našom príklade vidíte, že pár "a" => "zelena" sa nachádza v oboch poliach a teda nie je výstupom z funkcie. Na rozdiel od tohto, pár 0 => "cervena" je výstupom, pretože v druhom argumente "cervena" má kľúč, ktorý je 1.
Dve hodnoty z páru key => value sa považujú za rovnaké iba ak (string) $elem1 === (string) $elem2 . Inými slovami, koná sa striktné porovnávanie, takže reprezentácie reťazca musia byť rovnaké.
Poznámka: Prosím všimnite si, že táto funkcia kontroluje iba jednu dimenziu n-dimezionálneho poľa. Samozrejme môžte kontrolovať aj hlbšie dimezie použitím, napr., array_diff_assoc($pole1[0], $pole2[0]);.
Pozri aj
array_diff, array_intersect a array_intersect_assoc