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