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);
?>

Uitvoer voorbeeld

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);
?>

Uitvoer voorbeeld