PHP array_intersect_uassoc() functie

Voorbeeld

Vergelijk de sleutelnamen en sleutelwaarden van twee arrays (gebruik een door de gebruiker aangeboden functie om de sleutelnamen te vergelijken) en retourneer de intersectie:

<?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"=>"rood","b"=>"groen","e"=>"blauw");
$result=array_intersect_uassoc($a1,$a2,"myfunction");
print_r($result);
?>

Lopende voorbeelden

Definitie en gebruik

De functie array_intersect_uassoc() wordt gebruikt om de sleutelnamen en sleutelwaarden van twee (of meer) arrays te vergelijken en de intersectie te retourneren.

Opmerking:deze functie gebruikt een door de gebruiker aangeboden functie om de sleutelnamen te vergelijken!

Deze functie vergelijkt de sleutelnamen en sleutelwaarden van twee (of meer) arrays en retourneert een intersectie-array, die alle waarden bevat diearray1en ook in elke andere parameterarray (array2 of array3 enz.) de sleutelnamen en sleutelwaarden.

Uitleg

de functie array_intersect_uassoc() gebruikt een door de gebruiker aangeboden callback-functie om de intersectie van arrays te berekenen, waarbij de callback-functie de indices vergelijkt.

array_intersect_uassoc() retourneert een array die alle waarden bevat die array1 ook in alle andere parameters van de array voorkomt. De sleutelnamen in de retournerde array blijven ongewijzigd.

Let op, in tegenstelling tot array_intersect(), wordt naast de vergelijking van de sleutelwaarden ook de sleutelnaam vergeleken.

Deze vergelijking wordt uitgevoerd via de callback-functie die door de gebruiker wordt aangeboden. Deze functie heeft twee parameters, namelijk de namen van de sleutels die moeten worden vergeleken. Als de eerste parameter kleiner is dan de tweede parameter, moet de functie een negatief getal retourneren, als de parameters gelijk zijn, moet het een nul retourneren, en als de eerste parameter groter is dan de tweede parameter, moet het een positief getal retourneren.

语法

array_intersect_uassoc(array1,array2,array3,...myfunction)
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 Verplicht. Een tekenreeks die de vergelijkingsfunctie definieert die kan worden aangeroepen. Als de eerste parameter kleiner, gelijk aan of groter is dan de tweede parameter, moet de vergelijkingsfunctie een integer retourneren dat kleiner, gelijk aan of groter is dan 0.

Technische details

Retourneringswaarde: retourneert een intersectiearray die alle arrays bevat die worden vergeleken (array1en ook in elke andere parameterarray (array2 of array3 enz.) de sleutelnamen en sleutelwaarden.
PHP Versie: 5+

Meer voorbeelden

Voorbeeld 1

Vergelijk de sleutelnamen en sleutelwaarden van drie arrays (gebruik een gebruikersdefinieerde functie om sleutelnamen te vergelijken) en retourneer het intersection:

<?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_intersect_uassoc($a1,$a2,$a3,"myfunction");
print_r($result);
?>

Lopende voorbeelden