PHP array_udiff() functie
Voorbeeld
Vergelijk de sleutelwaarden van twee arrays (gebruik een gebruikersdefinieerde functie om sleutelwaarden te vergelijken) en returneer de differentset:
<?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_udiff($a1,$a2,"myfunction"); print_r($result); ?>
Definitie en gebruik
array_udiff() functie wordt gebruikt om de sleutelwaarden van twee (of meer) arrays te vergelijken en een differentset te returnen.
Opmerking:Deze functie gebruikt een gebruikersdefinieerde functie om sleutelwaarden te vergelijken!
Deze functie vergelijkt de sleutelwaarden van twee (of meer) arrays en returnt een differentset-array die alle waarden bevat die in de te vergelijken arrays zitten (array1en) maar niet in enige andere parameterarrays (array2 of array3 enz.) de sleutelwaarden.
Beschrijving
array_udiff() functie returnt een array die alle waarden bevat die in de te vergelijken arrays zitten, maar niet in enige andere parameterarrays, met behoud van de oorspronkelijke sleutelnamen.
array_udiff() functie en array_diff() De gedrag van de functie is verschillend, de laatste gebruikt een interne functie om te vergelijken.
De vergelijking van gegevens gebeurt met de functie array_udiff() van myfunction wordt uitgevoerd.myfunction De functie heeft twee parameters die vergeleken moeten worden. Als de eerste parameter kleiner is dan de tweede parameter, returnt de functie een negatief getal, als de parameters gelijk zijn, returnt de functie 0, en als de eerste parameter groter is dan de tweede, returnt de functie een positief getal.
语法
array_udiff(array1,array2,array3...myfunction)
Parameters | Beschrijving |
---|---|
array1 | Verplicht. Eerste array om met andere arrays te vergelijken. |
array2 | Verplicht. Array om met de eerste array te vergelijken. |
array3,... | Optioneel. Andere arrays om met de eerste array te vergelijken. |
myfunction |
Verplicht. Stringwaarde die de aanroepbare vergelijkingfunctie definieert. Als de eerste parameter kleiner dan of gelijk is aan de tweede parameter, moet de vergelijkingfunctie een kleiner dan of gelijk aan 0 integer retourneren. |
Technische details
Retourwaarde: | Geef een array van verschillen terug, die alle waarden bevat die in de vergelijkde arrays voorkomen (array1en) maar niet in enige andere parameterarrays (array2 of array3 enz.) de sleutelwaarden. |
PHP Versie: | 5.1.0+ |
Meer voorbeelden
Voorbeeld 1
Vergelijk de sleutelwaarden van drie arrays (gebruik een door de gebruiker gedefinieerde functie om sleutelwaarden 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","yellow"); $a2=array("A"=>"red","b"=>"GREEN","yellow","black"); $a3=array("a"=>"green","b"=>"red","yellow","black"); $result=array_udiff($a1,$a2,$a3,"myfunction"); print_r($result); ?>