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

Uitvoervoorbeeld

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

Uitvoervoorbeeld