anbefalet kursus:
PHP array_uintersect() funktion
eksempel
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } sammenlign nøglerne i to arrays (brug brugerdefinerede funktioner til at sammenligne nøglerne) og returner intersectionen: $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $result=$a2=array("a"=>"blue","b"=>"black","e"=>"blue"); print_r($result); ?>
array_uintersect($a1,$a2,"myfunction");
definition og brug
array_uintersect() funktionen bruges til at sammenligne nøglerne i to (eller flere) arrays og returnere intersectionen.kommentarer:
Denne funktion sammenligner to (eller flere) arrays' nøgler og returnerer en intersectionsoverensstemmende array, der inkluderer alle elementer i de sammenlignede arrays (array1osv.) og også i alle andre parameterarrayer (array2 eller array3 osv.) nøglerne.
syntaks
array_uintersect(array1,array2,array3...myfunction)
parametre | beskrivelse |
---|---|
array1 | obligatorisk. Den første array, der sammenlignes med andre arrays. |
array2 | obligatorisk. Arrayet, der sammenlignes med den første array. |
array3,... | valgfri. Andre arrays, der sammenlignes med den første array. |
myfunction |
obligatorisk. Strengværdi, der definerer den kaldbare sammenligningsfunktion. hvis den første parameter er mindre end eller lig med, eller større end og større end den anden parameter, skal sammenligningsfunktionen returnere et mindre end eller lig med 0 heltal. |
beskrivelse
brug brugerdefinerede callback-funktioner myfunction for at beregne intersectionen af to eller flere arrays (dvs. array1 der findes i alle andre arrays), og returnerer resultatarrangementet.
Kun sammenligning af nøgler, ikke nøglenavne, så "a"=>1 og "b"=>1 betragtes som ens.
myfunction Den funktion specificeret af parameteren bruges til at sammenligne, om elementer er ens.myfunction Funktionen har to parametre, der skal sammenlignes. Hvis den første parameter er mindre end den anden, returnerer funktionen et negativt tal, hvis de to parametre er ens, returneres 0, og hvis den første parameter er større end den anden, returneres et positivt tal.
Nøglenavnene i den returnerede array forbliver uændrede.
Tekniske detaljer
Returværdi: |
Returnerer en array, der indeholder alle i array1 indeholder alle enheder, der findes både i Returnerer en intersection array, der inkluderer enheder, der findes i alle de sammenlignede arrayer (array1osv.) og også i alle andre parameterarrayer (array2 eller array3 osv.) nøglerne. |
PHP Version: | 5+ |
Flere eksempler
Eksempel 1
Sammenlign nøglerne i tre arrayer (brug brugerdefineret funktion til at sammenligne nøglerne) og returner intersectionen:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue","yellow"); $a2=array("A"=>"red","b"=>"GREEN","yellow","black"); $a3=array("a"=>"green","b"=>"red","yellow","black"); $result=array_uintersect($a1,$a2,$a3,"myfunction"); print_r($result); ?>