PHP array_uintersect_uassoc() functie
Voorbeeld
Vergelijk de sleutelnamen en -waarden van twee arrays (gebruik gebruikersdefinieerde functies voor de vergelijking) en retourneer de intersectie (match):
<?php function myfunction_key($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } function myfunction_value($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","c"=>"green"); $result=array_uintersect_uassoc($a1,$a2,"myfunction_key","myfunction_value"); print_r($result); ?>
Definitie en gebruik
De functie array_uintersect_uassoc() vergelijkt de sleutelnamen en -waarden van twee (of meer) arrays en retourneert een intersectie.
Opmerking:Deze functie gebruikt twee gebruikersdefinieerde functies voor de vergelijking; de eerste functie vergelijkt de sleutelnamen, en de tweede functie vergelijkt de waarde!
Deze functie vergelijkt de sleutelnamen en -waarden van twee (of meer) arrays en retourneert een intersectie-array, die alle elementen bevat die in alle vergeleken arrays voorkomen (array1en ook in elke andere parameter array (array2 of array3 en andere).
Let op, met array_uintersect() is dat ook de sleutelnamen moeten worden vergeleken. both the key values and the key names (indices) worden vergeleken met de callback-functie.
Syntax
array_uintersect_uassoc(array1,array2,array3...myfunction_key,myfunction_value)
Parameters | Beschrijving |
---|---|
array1 | Verplicht. De eerste array die wordt vergeleken met andere arrays. |
array2 | Verplicht. De array die wordt vergeleken met de eerste array. |
array3,... | Optioneel. Andere arrays die met de eerste array worden vergeleken. |
myfunction_key |
Verplicht. De naam van de gebruikersdefinieerde functie die wordt gebruikt om de arraynamen te vergelijken. Definieer een aanroepbare vergelijkingfunctie. Als de eerste parameter kleiner dan of gelijk aan of groter is dan de tweede parameter, moet de vergelijkingfunctie een integer retourneren dat kleiner dan of gelijk aan of groter is dan 0. |
myfunction_value |
Verplicht. De naam van de gebruikersdefinieerde functie die wordt gebruikt om de arraywaarden te vergelijken. Definieer een aanroepbare vergelijkingfunctie. Als de eerste parameter kleiner dan of gelijk aan of groter is dan de tweede parameter, moet de vergelijkingfunctie een integer retourneren dat kleiner dan of gelijk aan of groter is dan 0. |
Gebruik een gebruikersdefinieerde callback-functie myfunction_key en myfunction_value om de intersectie van twee of meer arrays te berekenen (dus array1 bestaan in de eenheid
Tegelijkertijd worden zowel de sleutelnamen als de sleutelwaarden vergeleken, zoals de elementen "a"=>1 en "b"=>1 zijn niet gelijk.
myfunction_key Deze functie wordt gebruikt om te vergelijken of de sleutelnamen gelijk zijn.myfunction_value Deze functie wordt gebruikt om te vergelijken of de sleutelwaarden gelijk zijn. Beide functies hebben twee parameters die vergeleken moeten worden. Als de eerste parameter kleiner is dan de tweede parameter, retourneert de functie een negatief getal, als de parameters gelijk zijn, moet 0 worden geretourneerd, en als de eerste parameter groter is dan de tweede, wordt een positief getal geretourneerd.
De array waarin de arraynamen onveranderd blijven.
Technische details
Retournerde waarde: | Retourneert een array die alle elementen bevat die array1 midden in alle andere arrays. |
PHP Versie: | 5+ |