PHP array_diff_ukey() functie
Voorbeeld
Vergelijk de sleutelnamen van twee arrays (gebruik een gebruikersdefinieerde functie om sleutelnamen te vergelijken) en retourneer het differentieel:
<?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"=>"blue","b"=>"black","e"=>"blue"); $result=array_diff_ukey($a1,$a2,"myfunction"); print_r($result); ?>
Definitie en gebruik
De functie array_diff_ukey() wordt gebruikt om de sleutelnamen van twee (of meer) arrays te vergelijken en een differentieel te retourneren.
Opmerking:Deze functie gebruikt een gebruikersdefinieerde functie om sleutelnamen te vergelijken!
Deze functie vergelijkt de sleutelnamen van twee (of meer) arrays en retourneert een differentieel array, dat alle elementen bevat die in de te vergelijken arrays voorkomen (array1sleutels, maar niet in een van de andere parameterarrays (array2 of array3 enz.) sleutels.
Syntax
array_diff_ukey(array1,array2,array3...,myfunction);
Parameters | Beschrijving |
---|---|
array1 | Verplicht. Eerste array die wordt vergeleken met andere arrays. |
array2 | Verplicht. Array dat wordt vergeleken met de eerste array. |
array3,... | Optioneel. Andere array die wordt vergeleken met de eerste array. |
myfunction | Verplicht. Een string die de vergelijkingsfunctie definieert die kan worden aangeroepen. Als de eerste parameter kleiner, gelijk of groter is dan de tweede parameter, moet de vergelijkingsfunctie een integer retourneren dat kleiner, gelijk of groter is dan 0. |
Beschrijving
array_diff_ukey() retourneert een array die alle sleutels bevat die voorkomen array1 sleutels die niet voorkomen in een van de andere parameterarrays, maar behouden de associatieve relatie. In tegenstelling tot array_diff() wordt de vergelijking uitgevoerd op basis van sleutels in plaats van waarden.
Deze vergelijking wordt uitgevoerd via een door de gebruiker geleverde callback-functie. Als je denkt dat de eerste parameter kleiner, gelijk of groter is dan de tweede parameter, moet je respectievelijk een negatief, nul of positief getal retourneren.
Technische details
Retourwaarde: | geeft een array met het verschil terug, die alle sleutels bevat die in de arrays die worden vergeleken voorkomen:array1sleutels, maar niet in een van de andere parameterarrays (array2 of array3 enz.) sleutels. |
PHP Versie: | 5.1+ |
Meer voorbeelden
Voorbeeld 1
Vergelijk de sleutels van drie arrays (gebruik een door de gebruiker gedefinieerde functie om de sleutels te vergelijken) en geef het verschil terug:
<?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"=>"black","b"=>"yellow","d"=>"brown"); $a3=array("e"=>"purple","f"=>"white","a"=>"gold"); $result=array_diff_ukey($a1,$a2,$a3,"myfunction"); print_r($result); ?>