PHP array_intersect_uassoc() funktionen

Eksempel

Sammenlign nøglenavne og nøgleværdier i to arrayer (brug en brugerdefineret funktion til at sammenligne nøglenavne) og returner 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("d"=>"red","b"=>"green","e"=>"blue");
$result=array_intersect_uassoc($a1,$a2,"myfunction");
print_r($result);
?>

Kør eksempel

Definition og brug

array_intersect_uassoc() funktionen bruges til at sammenligne nøglenavne og nøgleværdier i to (eller flere) arrayer og returnere intersection.

Kommentar:Denne funktion bruger en brugerdefineret funktion til at sammenligne nøglenavne!

Denne funktion sammenligner nøglenavne og nøgleværdier i to (eller flere) arrayer og returnerer et array som intersection, der inkluderer alle de værdier, derarray1osv.), samt i alle andre parameterarrayer (array2 eller array3 osv.) nøgler og værdier.

Beskrivelse

array_intersect_uassoc() funktionen bruger en brugerdefineret tilbagekaldelsesfunktion til at beregne mængden af arrayer, ved at sammenligne indekserne.

array_intersect_uassoc() returnerer et array, der indeholder alle de værdier, der array1 Også de værdier, der også optræder i alle andre parameterarrays. Arrayet, der returneres, bevares de nøglenavne.

Bemærk, i modsætning til array_intersect() skal der sammenlignes både værdier og nøglenavne.

Denne sammenligning udføres gennem en brugerdefineret tilbagekaldelsesfunktion. Denne funktion har to parametre, nemlig de to nøglenavne, der skal sammenlignes. Hvis den første parameter er mindre end den anden, skal funktionen returnere et negativt tal, hvis de to parametre er ens, skal funktionen returnere 0, og hvis den første parameter er større end den anden, skal funktionen returnere et positivt tal.

语法

array_intersect_uassoc(array1,array2,array3,...myfunction)
Parameter Beskrivelse
array1 Obligatorisk. Den første array, der sammenlignes med de andre arrayer.
array2 Obligatorisk. Arrayet, der sammenlignes med den første array.
array3,... Valgfri. Andre arrayer, der sammenlignes med den første array.
myfunction Obligatorisk. Definerer en streng, der definerer en kaldbar sammenligningsfunktion. Hvis den første parameter er mindre end, lig med eller større end den anden parameter, skal sammenligningsfunktionen returnere et heltal mindre end, lig med eller større end 0.

Tekniske detaljer

Returværdi: Returnerer snitfladen som en array, der inkluderer alle nøgler og værdier fra de sammenlignede arrayer (array1osv.), samt i alle andre parameterarrayer (array2 eller array3 osv.) nøgler og værdier.
PHP version: 5+

Flere eksempler

Eksempel 1

Sammenlign nøgler og værdier i tre arrayer (brug brugerdefineret funktion til at sammenligne nøgler) og returner snitfladen:

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

Kør eksempel