(PHP 5)
array_udiff_uassoc -- Berekent het verschil tussen arrays met een aanvullende index controle, vergelijkt data en indices met een gebruikersfunctie
array_udiff_assoc() geeft een array
terug die alle waarden van array1
bevat die
niet voorkomen in de andere argumenten.
Let erop dat de keys worden gebruikt voor de vergelijking, dit in
tegenstelling tot array_diff() en
array_udiff().
De vergelijking van de array data wordt uitgevoerd door een gebruikersfunctie :
data_compare_func
. Dit in tegenstelling tot
array_diff_assoc(), waarbij de vergelijking wordt
gedaan door een interne functie. De vergelijking van de keys (indices) wordt
ook uitgevoerd door de gebruikersfunctie key_compare_func
.
Dit in tegenstelling tot wat array_udiff_assoc() doet,
omdat laatstgenoemde de indices vergelijkt met een interne functie.
In ons voorbeeld zie je dat het "1" => new cr(4) paar voorkomt in beide arrays en dus ontbreekt in het resultaat van de functie. Denk eraan dat je twee gebruikersfuncties moet opgeven.
Voor de vergelijking wordt een gebruikersfunctie toegepast. Deze moet een integer teruggeven die kleiner dan, gelijk aan of groter dan 0 moet zijn, wanneer het eerste argument respectievelijk kleiner dan, gelijk aan of groter dan 0 wordt beschouwd dan het tweede argument.
Opmerking: Let erop dat deze functie slechts een dimensie van een n-dimensionale array controleert. Het is uiteraard mogelijk om diepere dimensies te controleren, bijvoorbeeld via array_udiff_uassoc($array1[0], $array2[0], "data_compare_func", "key_compare_func");.
Zie ook array_diff(), array_diff_assoc(), array_diff_uassoc(), array_udiff(), array_udiff_assoc(), array_intersect(), array_intersect_assoc(), array_uintersect(), array_uintersect_assoc() en array_uintersect_uassoc().