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

Suoritettavat esimerkit

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

Suoritettavat esimerkit