PHP array_diff_uassoc() functie
voorbeeld
Vergelijk de sleutelnamen en -waarden van twee arrays (gebruik een door de gebruiker gedefinieerde functie om sleutelnamen te vergelijken) en retourneer de verschilset:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("d"=>"red","b"=>"green","e"=>"blue"); $result=array_diff_uassoc($a1,$a2,"myfunction"); print_r($result); ?>
definitie en gebruik
De functie array_diff_uassoc() wordt gebruikt om de sleutelnamen en -waarden van twee (of meer) arrays te vergelijken en een verschilset te retourneren.
opmerking:Deze functie gebruikt een door de gebruiker gedefinieerde functie om sleutelnamen te vergelijken!
Deze functie vergelijkt de sleutelnamen en -waarden van twee (of meer) arrays en retourneert een array met de verschilset, die alle elementen bevat die inarray1bevatten, maar niet in enige andere parameterarrays (array2 of array3 enz.) de sleutelnamen en -waarden.
syntaxis
array_diff_uassoc(array1,array2,array3,...myfunction);
parameters | beschrijving |
---|---|
array1 | verplicht. De eerste array om te vergelijken met andere arrays. |
array2 | verplicht. De array om te vergelijken met de eerste array. |
array3,... | optioneel. Andere arrays om met de eerste array te vergelijken. |
myfunction | verplicht. De te definiëren string voor een oproepbare vergelijkingfunctie. Als de eerste parameter kleiner, gelijk of groter is dan de tweede parameter, moet de vergelijkingfunctie een integer kleiner, gelijk of groter dan 0 retourneren. |
beschrijving
De functie array_diff_uassoc() gebruikt een door de gebruiker gedefinieerde callback-functie (callback) om indexcontrole uit te voeren om het verschil tussen twee of meer arrays te berekenen. Het retourneert een array die alle elementen bevat die in array1 bevatten, maar niet in enige andere parameterarrays.
Let op, in tegenstelling tot de functie array_diff(), worden ook de sleutelnamen vergeleken.
De parameter myfunction is een door de gebruiker gedefinieerde functie om twee arrays te vergelijken en moet twee parameters bevatten - de sleutelnamen die moeten worden vergeleken. Hierdoor gedraagt zich deze functie precies tegenover array_diff_assoc(), die gebruik maakt van een interne functie voor de vergelijking.
De sleutelnamen in de geretourneerde array blijven onveranderd.
Technische details
Retournerende waarde: | retourneert een array met verschil, die alle waarden bevat die in de te vergelijken arrays voorkomen (array1bevatten, maar niet in enige andere parameterarrays (array2 of array3 enz.) de sleutelnamen en -waarden. |
PHP Versie: | 5+ |
Meer voorbeelden
Voorbeeld 1
Vergelijk de sleutelnamen en -waarden van drie arrays (gebruik een gebruikersdefinieerde functie om de sleutelnamen te vergelijken) en retourneer het verschil:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"red","b"=>"green","d"=>"blue"); $a3=array("e"=>"yellow","a"=>"red","d"=>"blue"); $result=array_diff_uassoc($a1,$a2,$a3,"myfunction"); print_r($result); ?>