PHP array_intersect_uassoc() -toiminto
Esimerkki
Verrataan kahden taulukon avaimia ja arvoja (käyttäjän määrittämä toiminto avainten verraukseen) ja palautetaan ristisumma:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"punainen","b"=>"vihreä","c"=>"sininen"); $a2=array("d"=>"red","b"=>"green","e"=>"blue"); $result=array_intersect_uassoc($a1,$a2,"myfunction"); print_r($result); ?>
Määrittely ja käyttö
array_intersect_uassoc() -toiminto vertailee kahden (tai useamman) taulukon avaimia ja arvoja ja palauttaa ristisumman.
Kommentti:Tämä toiminto käyttää käyttäjän määrittämää toimintoa avainten verraukseen!
Tämä toiminto verraa kahden (tai useamman) taulukon avaimia ja arvoja ja palauttaa ristisumman taulukon, joka sisältää kaikkiarray1jne.), sekä kaikissa muissa parametritaulukoissa (array2 tai array3 jne.) avaimia ja arvoja.
Selitys
array_intersect_uassoc() -toiminto käyttää käyttäjän määrittämää paluutoimintoa taulukon ristisumman laskemiseen, ja verrataan indeksejä paluutoiminnolla.
array_intersect_uassoc() palauttaa taulukon, joka sisältää kaikki array1 Arvoja, jotka esiintyvät myös kaikissa muissa parametrien taulukoissa.
Huomaa, että erona array_intersect() -toiminnosta on, että verrataan sekä avainta että avaintimenemäärää.
Tämä vertailu suoritetaan käyttäjän antaman paluutoiminnon avulla. Toiminnolla on kaksi parametria, jotka ovat verrattavat avaimenimet. Jos ensimmäinen parametri on pienempi kuin toinen parametri, toiminnon on palautettava negatiivinen luku, jos parametrit ovat yhtä suuret, toiminnon on palautettava 0, ja jos ensimmäinen parametri on suurempi kuin toinen parametri, toiminnon on palautettava positiivinen luku.
语法
array_intersect_uassoc(array1,array2,array3,...myfunction)
Parametrit | Kuvaus |
---|---|
array1 | Välttämätön. Vertailtava ensimmäinen taulukko muiden taulukoiden kanssa. |
array2 | Välttämätön. Vertailtava ensimmäinen taulukko. |
array3,... | Valinnainen. Vertailtavaa ensimmäistä taulukkoa vertailevat muut taulukot. |
myfunction | Välttämätön. Määrittää kutsuttavan vertailufunktion määrittävän merkkijonon. Jos ensimmäinen parametri on pienempi, yhtä suuri tai suurempi kuin toinen parametri, vertailufunktio on palauttaa pienempi, yhtä suuri tai suurempi kuin 0 oleva kokonaisluku. |
Tekninen yksityiskohta
Palautusarvo: | Palauttaa ristiriitotaulukon, joka sisältää kaikki taulukoissa (array1jne.), sekä kaikissa muissa parametritaulukoissa (array2 tai array3 jne.) avaimia ja arvoja. |
PHP versio: | 5+ |
Lisää esimerkkejä
Esimerkki 1
Vertaa kolmen taulukon avaimia ja arvoja (käyttäen käyttäjän määrittämää vertailufunktiota avaimia varten) ja palauta ristiriitto:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"punainen","b"=>"vihreä","c"=>"sininen"); $a2=array("a"=>"punainen","b"=>"vihreä","d"=>"sininen"); $a3=array("e"=>"keltainen","a"=>"punainen","d"=>"sininen"); $result=array_intersect_uassoc($a1,$a2,$a3,"myfunction"); print_r($result); ?>